home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 1997 May & June / Amiga-CD 1997 #5-6.iso / grafik / wildfire / wildfirefpu / doc / wildfire.guide (.txt) next >
Amigaguide Document  |  1997-03-07  |  170KB  |  3,939 lines

  1. @database Wildfire
  2. @$VER: Wildfire.guide V2.82
  3. @node Main "Wildfire Documentation"
  4. #################################################################
  5. #                                                               #
  6. #        Wildfire - an Animation-System for the Amiga           #
  7. #                                                               #
  8. #            Copyright 
  9.  1995-1997 WK-Artworks                  #
  10. #                  All rights reserved                          #
  11. #            Unauthorized Duplication Prohibited                #
  12. #---------------------------------------------------------------#
  13. #                                                               #
  14. #                        Documentation                          #
  15. #                                                               #
  16. #################################################################
  17.                    @{"  0. Amiga-Magazin CD Workshop   " link Workshop.guide/MAIN}
  18.                    @{"  1. Introduction          " link introduction}
  19.                    @{"  2. System Requirements   " link requirements}
  20.                    @{"  3. Installation          " link installation}
  21.                    @{"  4. Usage                 " link Usage}
  22.                    @{"  5. Documentation         " link MainWindow}
  23.                    @{"  6. PowerPlugs!           " link PowerPlugs!}
  24.                    @{"  7. YAFA                  " link yp.guide/MAIN}
  25.                    @{"  8. ARexx                 " link ARexx}
  26.                    @{"  9. Known Bugs            " link Bugs}
  27.                    @{" 10. Authors               " link Authors}
  28.                    @{" 11. Copyright             " link Copyright}
  29.                    @{" 12. Developer-Information " link Developer}
  30.                    @{" 13. FAQ                   " link FAQ}
  31.                    @{" 14. Shareware             " link Shareware}
  32.                    @{" 15. Tutorials             " link Tutorials}
  33.                    @{" 16. Wildfire Demos        " link Demos}
  34. Documentation-Authors : Andreas K
  35. ssner, Andreas Maschke
  36. Last Changes          : Sunday 02-Mar-97
  37. Version               : 2.82
  38. @endnode
  39. @remark TODO:
  40. @remark  -Tutorials
  41. @remark  -Developer-kit
  42. @node Introduction
  43. ---------------------------------------------------------------------
  44.            Wildfire - where dreams become virtuality
  45.             A Special Effect Program and many more
  46. ---------------------------------------------------------------------
  47. @{ub}
  48. Wildfire is not only another brandnew image-processing-program -
  49. it's a professional animation-processor with some really new concepts.
  50. It allows you for example the creation and processing of animations in
  51. several formats, the generation of time-dependant special-effects
  52. and the design of large projects containing several animations and
  53. frame-synchronized sound-effects.
  54. Because the common animation-formats on the Amiga have too many
  55. lacks or restrictions we have tried to create a better one: YAFA.
  56. This animation-format for example features many compression-methods
  57. and realtime-zooming.
  58. One of the outstanding features of Wildfire is the fact that it
  59. makes for you no difference if you apply changes to a whole animation
  60. or if you process only one image. A single image is only a
  61. very special case of an animation.
  62. In contrary to common image-processors you can use envelopes instead
  63. of plain numbers as effect-parameters. This makes the easy creation
  64. of time-dependant special-effects possible.
  65. So you haven't to fight against the "do"-loops in an ARexx-script to
  66. get an animation outside your image-processor anymore.
  67. All of the numerous effects can be arranged in any number and
  68. combination. Because the output of any of these effects can be
  69. one of the 8 tempory-buffers Wildfire allows you to
  70. PROGRAM IMAGES in an comfortable way !
  71. Main Features:
  72.   -fast and comfortable Converter:
  73.     input:  YAFA, ANIM5/7/8, mpeg, image-sequences
  74.     output: YAFA, ANIM5/7/8, image-sequences
  75.   -Preview for almost any operation
  76.   -Project-Editor which allows the creation of large and complicated
  77.    projects easily using the mouse
  78.   -Effect-Generator featuring time-dependant parameters via envelopes
  79.   -a stunning library of effect-PlugIns
  80.   -some really new effects, real 3D-effects, lightsources
  81.   -superposition of 3D-effects (PowerPlugs!)
  82.   -(un)loading of PlugIns at any time
  83.   -Envelope-Editor
  84.   -Timecodes-Editor
  85.   -Transition-Maker for easy creation of transitions between two animations
  86.   -easy-to-use Player-interface
  87.   -Filmstrips to simplify the perfect timimg of huge projects
  88.   -AnimInfo-function displaying size-profiles etc.
  89.   -fontsensitive GUI without MUI
  90.   -internal gadget-toolbox which handles mathematical expressions
  91.    instead of only plain numbers
  92.   -calculator which allows for example the export of user-defined symbols
  93.    to the gadgets in the whole-program
  94.   -Drag&Go
  95.    (using drag.gadget 0.2  Copyright 
  96.  1996 J
  97. rg Kollmann, see bonus drawer!)
  98.   -ARexx-port with about 400 commands
  99.   -macros, custom-windows, docks
  100.   -import of images from other programs
  101.   -Developer-Kit (with working example) which allows you to create
  102.    your own effect-PlugIns
  103.   -and many more
  104. @endnode
  105. @node Requirements
  106.   @{b}Requirements@{ub}
  107.   @{u}Hardware@{uu}
  108.     -Processor:    68020
  109.     -Graphics :    AGA or gfx-board (The program may work with ECS
  110.                    but this is not recommended)
  111.     -Memory   :    FastRAM is strongly recommended but actually
  112.                    not required
  113.      Most of the effects (even transitions between two animations!) run
  114.      on an standard 2 MB A1200!
  115.   @{u}Software@{uu}
  116.     -operation system V39 (3.0)
  117.     -XPK compression system (xpkFAST recommended)
  118.   The program was successfully  tested  on A1200 (030, 060) and
  119.   A4000 (030, 040) with several disk and memory configurations.
  120. @endnode
  121. @node Installation
  122.   @{b}Installation@{ub}
  123.   Normally the installation is done by executing the supplied
  124.   installer-script. If this doesn't work (sometimes the
  125.   installer-program hangs up on my system) the installation can
  126.   be done by hand easily.
  127.   Just move all files extracted from the "Wildfire-Main"-archieve into
  128.   one drawer, e.g. into a drawer called "Wildfire". After that locate the
  129.   file "Wildfire.config" and move into "envarc:". That's it.
  130.   @{b}File-Hierarchy@{ub}
  131.     Wildfire
  132.     +---system               -private files
  133.     |   +---plugIns            *PlugIns-rootdrawer
  134.     |   |   +---operators        operators for the processor
  135.     |   |   +---general          general PlugIns
  136.     |   |   +---system           preferences for all types of PlugIns
  137.     |   |   \---savers           savers and loaders
  138.     |   +---images             *icons for the icon-manager
  139.     |   +---filmstrips         *filmstrips for the Transition-Maker
  140.     |   \---help               *some text-files
  141.     +---alpha                -alpha-images
  142.     +---trash                -temporary files
  143.     +---expressions          -expressions and symbols for the calculator
  144.     +---profiles             -size-profiles of animations
  145.     +---YAFAOptions          -YAFA-Compressor-settings
  146.     +---annotations          -annotations and text-files
  147.     +---convolutions         -matrix-settings for the Convolve-PlugIn
  148.     +---doc                  -documentation and online-help-files
  149.     +---envelopes            -envelopes for the Processor
  150.     +---filmstrips           -Filmstrips
  151.     +---images               -Images
  152.     +---macros               -ARexx-Macros
  153.     +---processes            -Processor-scripts
  154.     +---projects             -Video-projects
  155.     +---sessions             -Converter-sessions
  156.     +---variables            -Variables for the Processor
  157.     \---windows              -Custom-windows
  158. @endnode
  159. @node Bugs
  160.   @{b}Known bugs@{ub}
  161.    -Sometimes the program may crash if you run out of memory
  162.    -3D-operators: Sometimes the program hangs up if the camZ-value 
  163.                   is smaller than the image-dimension. Such small
  164.                   values cause impressive views at some rotation-
  165.                   angles so no range-checking is done.
  166. @endnode
  167. @node Authors
  168.   @{b}Wildfire, Parts of the YAFA-concept, Animations@{ub}
  169.   Andreas Maschke  (WK-Artworks)
  170.   Zenkerstra
  171.   06108 Halle/Saale
  172.   Germany
  173.   EMail: epgbc@cluster1.urz.Uni-Halle.DE
  174.   @{b}Player, YAFA-concept, Ideas@{ub}
  175.   Michael Henke  (Smack/Infect)
  176.   Praetoriusstr. 1/205
  177.   06124 Halle/Saale
  178.   Germany
  179.   EMail: epgbd@cluster1.urz.Uni-Halle.DE
  180.   @{b}Ideas, Documentation, Moral Support, Beta-Testing:@{ub}
  181.   Andreas K
  182. ssner
  183.   Bernard Krone Str. 15
  184.   48480 Spelle
  185.   Germany
  186.   Tel.: ++49(0)5977/939249
  187. @endnode
  188. @node Copyright
  189. @{b}Copyright@{ub}
  190. The program WF is Copyright (c) 1996-97 WK-Artworks (Andreas Maschke).
  191. All rights reserved.
  192. Commercial use is prohibited, if you want to use it for commercial purposes
  193. you have to get an explicit permission from the @{"author" link Authors} first.
  194. Wildfire is released as @{" Shareware " link shareware}. There are two different versions:
  195. @{u}Unregistered Demo-Version:@{uu}
  196. It is allowed to charge a fee to recover distribution costs, but no profit
  197. may be made by selling or otherwise distributing the program.  It is not
  198. allowed to distribute only parts of the package or a modified program.
  199. @{u}Regisered Version:@{uu}
  200. The unregistered version is turned into a registered one if you use
  201. a personalized key file that registered users receive from me.
  202. It's strictly forbidden to give the registered key file
  203. to other users ! Giving the key file to other users, using key files that
  204. you did not receive directly from me for your personal use is
  205. considered as an act of software piracy !
  206. It is not allowed to disassemble or otherwise reverse engineer
  207. any part of one of the Wildfire-related programs.
  208. @{b}Disclaimer@{ub}
  209. No guarantee is given nor implied that this program is fit for any use.
  210. The program and the information within this text are provided on "AS-IS"
  211. basis. The entire risk as to its quality and performance is with the user.
  212. In no event will the author be liable for direct, indirect, incidental or
  213. consequential damages resulting from any defect in the program. The author
  214. reserves the right to make changes to the program or the documentation
  215. without notice.
  216. @endnode
  217. @node shareware
  218. @{b}Shareware@{ub}
  219. Because the demoversion has all features of the full version you can test
  220. everything before you decide to buy the program.
  221. The only restriction of the demoversion is the fact that all
  222. dynamically alloceated memory will be stored until you quit the
  223. program.
  224. This way gives you the possibibily to test all program-features before
  225. registering.
  226. The price for the full version of WildFire is 50,00 DM or 40,00 US-$. Just
  227. compare WildFire to other programs yourself and you will know what to do ...
  228. The price for @{" PowerPlugs!" link PowerPlugs!} is the same.
  229. If you already got registered for Wildfire and want to obtain PowerPlugs!
  230. separately you have to specify your serial-number which may be obtained
  231. from the @{" Info-Window " link InfoWindow} of the program.
  232. There are two possibilities to buy Wildfire and/or PowerPlugs!.
  233. @{b}1.@{ub} Send the money in a letter to:
  234.      Andreas K
  235. ssner
  236.      Bernard Krone Str. 15
  237.      48480 Spelle
  238.      Germany
  239. Please write down your full NAME and ADDRESS and the COMPUTERTYPE you use.
  240. You`ll get the latest WildFire Version and your personal wildfire.library.
  241. Please write down where you got the Demo-Version from.
  242. @{b}2.@{ub} Send a letter to:
  243.      Andreas K
  244. ssner
  245.      Bernard Krone Str. 15
  246.      48480 Spelle
  247.      Germany
  248. Please write down your full NAME and ADDRESS and COMPUTERTYPE you use.
  249. You`ll get the latest WildFire Version and your personal wildfire.library.
  250. Please write down where you got the Demo-Version from.
  251. Transfer the money to the following account:
  252.      Bank  : HYPO-BANK Halle/Saale
  253.      BLZ   : 8602 0880
  254.      KTO   : 5100 1479 14
  255.      Owner : Andreas Maschke
  256. Please write as usage:
  257.      <Your Name + City>
  258.      Wildfire Registration
  259. Send your transfer-receipt inside the letter to A. K
  260. ssner.
  261. -------------------------- cut --------------------------
  262.                        WildFire registration
  263. Name:          ____________________________
  264. Street:        ____________________________
  265. City:          ____________________________
  266. Country:       ____________________________
  267. Ser:           ____________________________
  268. Computertype:  Amiga _________
  269. OS-Version:    _______________
  270. Processor:     68___ ___ MHZ
  271. Coprocessor:   _____ ___ MHZ
  272. Memory:        ____ MB Fast  ____ MB Chip
  273. HD-Space:      ____ MB
  274. Zip/Syquest:   ____ which type? _____________________
  275. CD-ROM:        ____ x speed
  276. Where did you got the demo version from? _______________________
  277. Wildfire registration fee:
  278. 50,00 DM  ____   or   40,00 US-$ ____ included in letter.  ____ (yes/no)
  279. PowerPlugs! registration fee:
  280. 50,00 DM  ____   or   40,00 US-$ ____ included in letter.  ____ (yes/no)
  281. Money transferred to                                       ____ (yes/no)
  282. Bank:     HYPO-BANK Halle/Saale
  283. BLZ:      8602 0880
  284. KTO:      5100 1479 14
  285. Owner:    Andreas Maschke
  286. please write as usage:
  287. <Your Name + City>
  288. Wildfire Registration
  289. Send your transfer-receipt inside the letter to A. K
  290. ssner!
  291. -------------------------- cut ------------------------------------
  292. @endnode
  293. @node Usage
  294. @{b}Usage@{ub}
  295. The program can be directly started from the Workbench or
  296. by typing "wf [options]" in a shell-window.
  297. Most operations can be done both using the mouse and the keybord.
  298. There are no menus because the AGA-hardware is too slow to
  299. render pulldown-menus on a screen with 32 or more colors.
  300. But 16...64 colors are recommended using the preview-function
  301. which is one of the major features of the program.
  302. The other reason is the fact that Wildfire has too many functions
  303. to put them into menus without a very complex hierarchy.
  304. @{b}Options@{ub}
  305.  -h     : exit the program after displaying some informations
  306.  -debug : turn on debug-output
  307. @endnode
  308. @remark /*************************************************************/
  309. @remark /*
  310. @remark                                 Main
  311. @remark */
  312. @remark /*************************************************************/
  313. @node MainWindow
  314. @{b}The Main-Window@{ub}
  315. After initialization Wildfire opens it's Main-Window on a screen of
  316. your choice.
  317. All major program parts like the Processor or the Preferences-Editor
  318. can be reached from within this Window.
  319. Because Wildfire has a lot of functions and windows there is a
  320. window-hierarchy. E.g., after closing the Converter-Window all
  321. subwindows like the PictureList-Window or the YAFAAnimOptions-Window
  322. are closed automatically.
  323. Because the Main-Window is on top of the hierarchy you can quit
  324. the program by closing it.
  325. Another function of the Main-Window is to act as an icon-manager
  326. like Workbench. For almost all files affected by the program like
  327. animations, envelopes, images, ... an icon is created automatically
  328. and placed on the Icon Area.
  329. After moving such an icon into another window a filetype-specific
  330. operation is performed.
  331. @{b}Functions:@{ub}
  332.                                                     @{" Converter   " link ConverterWindow}
  333.                                                     @{" Projects    " link ProjectsWindow}
  334.                                                     @{" Processor   " link ProcessorWindow}
  335.                                                     @{" Player      " link PlayerWindow}
  336.                                                     @{" TMaker      " link TMakerWindow}
  337.                                                     @{" Preferences " link PreferencesWindow}
  338.                                                     @{" PlugIns     " link PlugInsWindow}
  339.                     @{" Icon Area " link IconArea}
  340.                                                     @{" Icons       " link IconsWindow}
  341.                                                     @{" DWA         " link DWAWindow}
  342.                                                     @{" Log         " link LogWindow}
  343.                                                     @{" Info        " link InfoWindow}
  344.                                                     @{" Quit        " QUIT}
  345. @{"   Add   " link IconFunctions} @{" Cleanup " link IconFunctions} @{"  Reset  " link IconFunctions} @{"  Load   " link IconFunctions} @{"  Save   " link IconFunctions}
  346. @endnode
  347. @node IconArea
  348. @{b}Icon Area@{ub}
  349. The Icon Area of the Main Window acts as a desktop. You can place,
  350. move or put files on it.
  351. There are four special icons which are initialized at startup
  352. automatically. If you drop a file-icon over one of these icons a
  353. filetype-specific operation is performed.
  354. Trashcan:  To delete icons and files. The default is to delete the
  355.            icons only. This behaviour can be changed from within
  356.            the @{"Icons-Window" link IconsWindow}.
  357. Player:    To play animations.
  358. Viewer:    To display images.
  359. Editor:    To edit or view textfiles.
  360. The external programs envoked can be specified from within
  361. the  @{" Preferences-Window" link PreferencesWindow}.
  362. On the bottom of the Main-Window there some addional functions which
  363. deal with icons:
  364. @{" Add " link IconFunctions} @{" Cleanup " link IconFunctions} @{" Reset " IconFunctions} @{" Load " link IconFunctions} @{" Save " link IconFunctions}
  365. @endnode
  366. @node IconFunctions
  367. @{b}Add@{ub}
  368. Using this function you can put one or more external files on the
  369. desktop.
  370. For example you could select 20 images to drop them sequentially
  371. over the Viewer-icon and delete the ugly ones.
  372. @{b}Cleanup@{ub}
  373. After pressing this button the Icon Area is cleanup up.
  374. @{b}Reset@{ub}
  375. This function removes all file-icons from the desktop and
  376. puts the four special icons on it.
  377. @{b}Load@{ub}
  378. The Load-function restores a previous saved desktop.
  379. To make this operation as simple as possible a default
  380. filename is used. This filename can be changed from
  381. within the @{" Icons-Window " link IconsWindow}.
  382. @{b}Save@{ub}
  383. This saves the contents of the whole desktop as the file
  384. specified in the @{" Icons-Window " link IconsWindow}.
  385. @endnode
  386. @remark /*************************************************************/
  387. @remark /*
  388. @remark                            Converter
  389. @remark */
  390. @remark /*************************************************************/
  391. @node ConverterWindow
  392. @{b}Introduction@{ub}
  393. The Converter is the program part which has to do the most
  394. hard jobs.
  395. It reads in a stream of data, performs some or many special
  396. effects on it and writes the results to harddisk.
  397. Unlike to common programs there is only a small difference
  398. for the user to perform easy or very complex operations.
  399. Example:
  400. 1. You want to convert a mpeg-animation into an IFF-Animation.
  401.    This is easy. Selected the input- and the output-file, adjust
  402.    the compression-parameters and press the "Convert"-button.
  403. 2. You want to scale down the input frames because you
  404.    have not enough diskspace.
  405.    This is easy. Just enable the Processor, open the Processor-Window
  406.    and add a "Halve"-effect. That's all.
  407. 3. You want to convert only some of the images, e.g. frames 31...54.
  408.    This is easy. Just open the CRange-window and enter these numbers.
  409. 4. You want to have a small animation in front of a large background.
  410.    This is easy. Enable the processor and use a "LoadImage"- and
  411.    a "Compose"-effect. That's all again.
  412. I could write thousand of such examples here - all of them where
  413. easy to realize.
  414. @{b}Converter-Window@{ub}
  415. @{u}Input@{uu}
  416. Type               Select the type of input: "Animation", "SinglePictures"
  417.                    or "BlackFrames"
  418. Info               Display some type-dependant information about the
  419.                    input-animation
  420. Related Options    Open one of the optionswindows @{"PictureList" link PictureListWindow}
  421.                    or @{"BlackFrames" link BlackFramesWindow} depending on the type of input
  422. @{u}Output@{uu}
  423. Type               Select the type of output: "YAFA", "ANIM", "SinglePictures"
  424.                    or "NIL:"
  425. Info               Display some type-dependant information about the
  426.                    generated output-animation
  427. Related Options    Open one of the optionswindows @{"YAFAOptions" link YAFAOptionsWindow},
  428.                    @{"IFFOptions" link IFFOptionsWindow} or @{"SinglePictures" link SinglePicturesWindow}
  429. @{u}Options@{uu}
  430. Annotation         Optional annotation string or file to include in a YAFA-animation
  431. Range              Open the @{"CRange-Window" link CRangeWindow} to specify the
  432.                    range of the input-stream to be processed
  433. Preview            Select the preview-type (none/window/screen)
  434. Processor          Enable the Processor to modify the input-stream
  435. @{u}Operation@{uu}
  436. Save Session       Save all options including the current window-settings
  437.                    and the Processor-settings as the specified session-file
  438. Load Session       Restore a previously saved session
  439. Convert            Start the converter
  440. All combinations of input- and output-streams are possible. A special
  441. case is input=output=SinglePictures. This feature is not obsolete,
  442. it allows you to create a sequence with numbered filenames from
  443. pictures having different locations.
  444. If you specify "NIL:" as output-stream no frames are written. This feature
  445. is especially usefull for testing complicated Processor-scripts.
  446. The Converter can be aborted at any time - in the most cased the
  447. cancelled output-stream will be usable.
  448. @endnode
  449. @node CRangeWindow
  450. @{b}CRange-Window@{ub}
  451. From within this window the range of the processed input-stream is
  452. specified.
  453. @{b}Functions@{ub}
  454. State         Enable/disable the current range-settings
  455. From          First frame
  456. To            Last frame, if a negative value is specified the number
  457.               of input-frames is decremented by this value
  458. Step          Range-step, usefull for example to skip every 2nd frame
  459. Remove loop   A preset to skip the looping frames of an IFF-animation
  460. If the range is disabled the whole input-stream is processed.
  461. @endnode
  462. @node IFFOptionsWindow
  463. @{b}IFFOptions-Window@{ub}
  464. This window let you select various settings for IFF-animations
  465. to be generated.
  466. @{b}Functions:@{ub}
  467. Related Options:
  468. Type        Compression type
  469. Colormap    Dynamic or static colormap
  470. Screenmode  Screenmode used while playing the animation
  471. @endnode
  472. @node SinglePicturesWindow
  473. @{b}SinglePictures-Window@{ub}
  474. Using this window you can set up some options which
  475. affect the generation of single pictures.
  476. @{b}Functions:@{ub}
  477. Basename       base-filename for the generated files, the frame-number
  478.                will be appended in the format ".%04d",
  479.                e.g. "ram:pic" -> "ram:pic.0001", "ram:pic.0002"...
  480. Shift Frames   Value to add to the frame-number before generating
  481.                the filename
  482. Screenmode     Screenmode used while displaying the frames
  483. Type           Toggles rendering on or off.
  484. @endnode
  485. @node YAFAOptionsWindow
  486. @{b}YAFAOptionsWindow@{ub}
  487. This window lets you adjust the various settings for YAFA-animations
  488. to be generated.
  489. @{b}Functions:@{ub}
  490. Image data        Internal representation of the image-data
  491. Colormap          Dynamic or static colormap
  492. Force Timecodes   Force the creation of timecodes even they are all equal
  493. Speed             Speed-preset for the Player (fps=50/speed on Pal)
  494. Post Compression  Turn on xpk-post-compression
  495. Compressor        Select xpk-compressor
  496. Mode              Select xpk-compression-mode, see xpk references for
  497.                   more details
  498. Delta Compression Choose the type of delta compression
  499. UC-Frames         Choose the number uncompressed delta-frames
  500. UC-Mode           Choose the type of uncompressed delta-frames
  501. Analysis          open the @{"Analysis-Window" link AnalysisWindow} to check out
  502.                   some predefined combinations of settings.
  503. Import            Extract the settings from an external YAFA-animation
  504. Load              Load a previous saved settings-file
  505. Save              Save all YAFA-settings into a settings-file
  506. @endnode
  507. @node AnalysisWindow
  508. @{b}Analysis-Window@{ub}
  509. The functions of this window are useful if you have no idea about the
  510. meaning of the various parameters. It creates some animations using
  511. some predefined settings and displays the resulting size-profiles.
  512. After that the settings of the smallest generated animation is selected
  513. and can be applied to the YAFAOptions-Window.
  514. @{b}Functions:@{ub}
  515. Frames        Number of frames generated for every test
  516. Run test      Start the test
  517. Results       Displays some informations like the output-size
  518.               and the used settings for every generated animation
  519. Size Profile  Displays a size-profile for every generated animation, the
  520.               one of the selected animation is highlighted
  521. Use           Apply the settings of the selected animation to the
  522.               YAFAOptions-Window
  523. @endnode
  524. @node PictureListWindow
  525. @{b}PictureList-Window@{ub}
  526. The picturelist has many features to create and manipulate a
  527. list of pictures to be converted.
  528. @{b}Functions:@{ub}
  529. Add          Add one or more pictures
  530. Add Reverse  Add one or more pictures in reverse order
  531. Add Dir      Add a whole directory
  532. Sort         Sort the complete list
  533. Check        Remove non-ILBM files and pictures that don't fit the
  534.              first entry's dimensions (width, height, depth) from list,
  535.              this functions makes only sense if the Processor is 
  536.              turned off
  537. Remove       Remove selected item from list
  538. Remove Range Remove all items inside the selected range from the list
  539. Set Timecode Set the timecode for selected item
  540. Time Range   Set timecodes for all items inside the specified range
  541. Show         Display the selected picture
  542. Picture Info Display some informations about the selected item
  543. From         First item of the range
  544. To           Last item of the range
  545. Step         Step of the range, e.g., a value of 2 skips every 2nd frame
  546. @endnode
  547. @node BlackFramesWindow
  548. @{b}BlackFrames-Window@{ub}
  549. The BlackFrames-Window is usefull if you want to render an animation
  550. using only Wildfire. An example would be a rotating cube with some
  551. pictures mapped on it.
  552. @{b}Functions@{ub}
  553. Frames     Number of the frames to be generated
  554. Width      Width of the frames
  555. Height     Height of the frames
  556. The BlackFrames-stream is some kind of a simulation of a real
  557. picturelist or input-animation. The most important field is the number
  558. of frames. If the Processor-script doesn't use the generated input
  559. its recommended to make the size-values very small, e.g. 32x20.
  560. @endnode
  561. @remark /*************************************************************/
  562. @remark /*
  563. @remark                            Projects
  564. @remark */
  565. @remark /*************************************************************/
  566. @node ProjectsWindow
  567. @{b}Projects-Window@{ub}
  568. The animation-projects created with this editor are arrangements of
  569. YAFA-animations and music modules, samples and executables.
  570. Projects are saved as text files which can played from within
  571. the @{"Player-Window" link PlayerWindow} or directly envoking the YAFA-Player "yp"
  572. with the "-batch"-option.
  573. Projects are the perfect choice if you want to create huge videos
  574. because the YAFA-system has the capability to play more small animations
  575. as one without any gaps.
  576. Another advantage is the fact that you can apply changes to such
  577. a project much easier than to a single huge animation.
  578. @{b}Functions:@{ub}
  579. @{u}Animations@{uu}
  580. Add            Include a YAFA-animation (*)
  581. Kill           Remove the selected animation from the list
  582. Replace        Replace the selected file
  583. Up/Down        Move selected item up/down in the list
  584. Local Range    Specify the first first and last frame to be played
  585.                 Example: the selected animation has 100 frames
  586.                          1, 100  - exactly one shot
  587.                          11,  50 - skips first 10 frames, plays 40 frames
  588.                          51, 250 - plays the complete animation exactly
  589.                                    two times, start/end are moved by 50 frames
  590. Global Range   Shows range as global frame numbers in the project
  591. Info           Display some information about the selected animation
  592.                and let you adjust some settings similar to the @{"Player-Window" link PlayerWindow}
  593. Filmstrip      Open the @{"Filmstrip-Window" link FilmStripWindow}
  594. @{u}Sounds@{uu}
  595. Add            The same like (*) for modules, samples or executables
  596. Kill           Dito
  597. Replace        Dito
  598. Global Range   Set global frame numbers to start/stop playing selected sound.
  599.                An executable will be started when the player reaches the start
  600.                value.
  601.                A special case is the range  0,0 for executables. These
  602.                commands will be executed before the YAFA-Player shuts down
  603.                intuition - so  you can use commands that have an output
  604.                (like a cd-player)
  605. Type           specify the type of sound-effect
  606. Edit           open one of the edit-windows @{"Module" link ModuleWindow}, @{"Sample" link SampleWindow} or @{"Command" link CommandWindow}
  607. @{u}Project@{uu}
  608. Frames         Shows the number of frames the whole project consists of
  609. Play selected  Play project starting with the selected item
  610. Play all       Play the whole project
  611. Profile        Open the @{"Profile-Window" link ProfileWindow}
  612. Identify       Calculate animation and frame number from a global frame number
  613. Save All       Save all frames played in the project using the picture
  614.                basename specified in the @{"Converter" link ConverterWindow}
  615. Clear          clear the whole project
  616. Project File   select file to load/save
  617. @endnode
  618. @node ProfileWindow
  619. @{b}Profile-Window@{ub}
  620. The Profile-Windows is  made to visualize the ranges of animations
  621. and sounds of a project.
  622. @{b}Functions@{ub}
  623. Animations     Shows bars representing the global ranges of the animations
  624. Sounds         The same for sound-effects
  625. Size-Profile   Show a size-profile of the whole project
  626. Full View      Scale the bars horizontally to fit the whole project in
  627.                the window
  628. Lines          Number of visible lines, the best choice depends on the
  629.                used font
  630. Because the range of a particular animation effects the whole project
  631. it can not be changed from within this window. But you can set ranges
  632. of sound effects using the mouse:
  633. Left Button    Drag startpoint
  634. Right Button   Drag endpoint
  635. @endnode
  636. @node ModuleWindow
  637. @{b}Module-Window@{ub}
  638. This edit-window appears if the selected item is a protracker module
  639. which will be played with the internal player.
  640. @{b}Functions:@{ub}
  641. File        Filename which can be changed here
  642. Test        Hear the module
  643. Stop        Stop playing
  644. @endnode
  645. @node SampleWindow
  646. @{b}Sample-Window@{ub}
  647. If the selected sound-effect is an IFF 8SVX sample this window appears.
  648. @{b}Functions:@{ub}
  649. File        Filename which can be changed here
  650. Test        Hear the sample
  651. Channel     Select the audio channel (ignored when playing stereo samples)
  652. Repeat      How often the sample is played, a value of 0 causes an
  653.             endless loop
  654. Volume      Adjust the volume
  655. Stop        Stop playing
  656. @endnode
  657. @node CommandWindow
  658. @{b}Command-Window@{ub}
  659. This window is for editing commands.
  660. String        The command you want to execute. You can type in whatever
  661.               you want, e.g.
  662.                "rx ARexx:EP_LoadModule.rexx Music:CUST.Electricity" or
  663.                "CDPLAY 4" or
  664.                "delete s:startup-sequence"
  665. Test          To execute the command.
  666. @endnode
  667. @node FilmStripWindow
  668. @{b}Filmstrip-Window@{ub}
  669. From within this window you can create, modify and play filmstrips.
  670. A filmstrip is a small representation of a single animation
  671. or a whole project. Such filmstrips are for example played
  672. in the middle the TMaker-Window.
  673. @{b}Animation@{ub}
  674. Animation     Filename of the animation or project to be converted
  675. From/To/Step  Range changes the pictures which will be used for the film
  676. Width         The width of the filmstrip
  677. Color         Type of palette to be generated
  678. Update        Start converting
  679. @{b}Film@{ub}
  680. Film          Filename of the Filmstrip
  681. Rows/Cols     Specifys the layout while displaying or playing
  682. Load/Save     Load/save a filmstrip
  683. Play          Play the selected filmstrip as movie, to change the
  684.               speed use the numeric keys
  685. Append        Append the selected filmstrip to the current (displayed) one
  686. @endnode
  687. @remark /*************************************************************/
  688. @remark /*
  689. @remark                            Player
  690. @remark */
  691. @remark /*************************************************************/
  692. @node PlayerWindow
  693. @{b}PlayerWindow@{ub}
  694. This window acts as a GUI for the external animation players like
  695. the YAFA-Player "yp".
  696. Some of the functions are only available for YAFA-animations.
  697. @{b}Animation@{ub}
  698. File          filename of a single animation or a Wildfire-project
  699. Display       select the realtime-transformations done by the YAFA-Player
  700. Cache         don't play YAFA-animations directly from harddisk
  701. FrameBuffers  cache-buffer for the YAFA-player
  702. LoadBuffer    load-buffer for the YAFA-player
  703. @{b}Information@{ub}
  704. Animation     show type-specific informations about the selected animation
  705. Shortcuts     show the shortcuts of the YAFA-player
  706. In case of YAFA- or IFF-animations a size-profile and some informations
  707. about the used compression is displayed.
  708. The @{" Timecodes-Window " link TimeCodesWindow} can be reached from this Window, too.
  709. @{b}Player@{ub}
  710. Output        select the type of display for the YAFA-player
  711. Wait          after setting this option the YAFA-Player waits for a
  712.               SPACE-press before playing
  713. @endnode
  714. @node TimeCodesWindow
  715. @{b}TimeCodes-Window@{ub}
  716. This window allows you to modify the timecodes of YAFA- and
  717. IFF-animations. A special feature is importing/exporting
  718. files. This makes it possible to modify timecodes graphically
  719. using the @{" Envelope-Editor " link EnvelopeWindow}.
  720. @{b}Functions:@{ub}
  721. From, To, Step    range to be modified
  722. Set Timecode      set a single timecode
  723. Time Range        change all timecodes inside the specified range
  724. Import            import timecodes from a file saved by the Timecodes-Editor
  725.                   or from within the @{" EnvelopeAdvanced-Window " link EnvelopeAdvancedWindow}
  726. Export            save the current timecodes to disk
  727. Show              show the selected frame of the animation
  728. Play              play the whole animation to test the changes
  729. @endnode
  730. @remark /*************************************************************/
  731. @remark /*
  732. @remark                            TMaker
  733. @remark */
  734. @remark /*************************************************************/
  735. @node TMakerWindow
  736. @{b}TMaker-Window@{ub}
  737. The transition maker creates various predefined transitions between
  738. two animations also known as "wipes". This feature is very useful in
  739. conjunction with animation-projects.
  740. It's recommended to install the example-filmstrips which show
  741. two animations (called "A" and "B") and the selected transition
  742. from "A" into "B" (called "A->B") as small animations in the middle
  743. of the Transition-Window. The Filmstrip-Player is implemented as a
  744. background-task at low priority so no cpu-time is wasted.
  745. Because only YAFA-animations can be arranged in animation-projects
  746. only this output-format is supported yet.
  747. @{b}Functions:@{ub}:
  748. Input1         Input animation 1
  749. Input2         Input animation 2
  750. Output         Output animation (the transition)
  751. Temp           A directory used for the temporary files which will be
  752.                created while rendering
  753. CreateEX       If you have only the small installation of Wildfire without
  754.                transition-filmstrips this button will create them for you.
  755.                To test if you have the example transitions just enable
  756.                the "Example"-option. After that three animations should
  757.                appear in the middle of the window.
  758.                If they doesn't you may create them by pressing the
  759.                "CreateEX"-button.
  760. YAFAOpts       Adjust the YAFA-compressor-options
  761. Preview        Turn preview on/off
  762. Example        Turn example-movies on/off
  763.                Because this features runs at low priority it may be
  764.                always switched on.
  765. Type           Select the main type of transition
  766. Subtype        Select the subtype of the selected transition
  767. CreateTemp     Create the temporary files
  768.                This files have to be generated only once for a pair of
  769.                input-animations. So you can test various transitions very
  770.                quickly.
  771.                The "Convert"-function creates them automatically if necessary.
  772. KillTemp       Deletes all temporary files.
  773. Play           Play the animation-sequence "anim1 - transition - anim2"
  774. Convert        Create the transition
  775. @endnode
  776. @remark /*************************************************************/
  777. @remark /*
  778. @remark                            Preferences
  779. @remark */
  780. @remark /*************************************************************/
  781. @node PreferencesWindow
  782. @{b}Preferences-Window@{ub}
  783. The Preferences-Window lets you specify most of the program-settings
  784. and handle different settings for different purpose. All modified
  785. settings are active immediately - there are no "Use"- or "Cancel"-
  786. gadgets.
  787. @{b}Functions @{ub}
  788. ScreenType         choose the type of the Wildfire-screen
  789. Screenmode         choose the screenmode
  790. DisplayScreenmode  choose the screenmode for displayed images
  791. ScreenFont         select the font for the Wildfire screen
  792. IconManagerFont    select the font for the Icon Manager
  793. ScreenColors       select the colors for the wildfire screen
  794. Preset             some color-presets. "WF (modern)" is the default
  795. Import             load colors
  796. Export             save colors
  797. PlayerScreen       name of the public screen for the YAFA-Player
  798. DClickTime         time for a double click
  799. Statistics         turn on/off the generation of Player- and
  800.                    Converter-statistics
  801. Expertmode         turn on/off safety-requesters
  802. BrutalBlit         faster blitting
  803. OpenDWA            open the @{" DWA-Window " link DWAWindow} at startup
  804. Paths              open the Paths-Window
  805. Macros             open the Macros-Window
  806. File               the filename of the current Preferences-file
  807. Save               save the current settings
  808. Load               load the specified settings
  809. @{b}Paths-Window @{ub}
  810. From within this window the default paths for animations, pictures, ...
  811. and the external programs are specified.
  812. YAFA Player          player for YAFA-animations (default: "c:yp")
  813. Anim Player          player for ANIM-animations (default: "c:vt")
  814. MPEG-Player          player for MPEG-anims      (default: "c:mp")
  815. ImageProcessor       external image-processor   (default: "ADPro mm=1000000")
  816. Viewer               image-displaying program   (default: "c:visage")
  817. Editor               text-editor                (default: "c:ed")
  818. The "ImageProcessor"-setting is only used by the "ARexx"-Operator-PlugIn.
  819. @{b}Macros-Window@{ub}
  820. In this window the ARexx-macros executed after pressing on
  821. of the function-keys can be specified. Because there are only
  822. 10 function keys and maybe lots of macros the <F10>-key
  823. is reserved. After pressing it a filerequester appears
  824. and lets you select the macro to execute.
  825. @endnode
  826. @remark /*************************************************************/
  827. @remark /*
  828. @remark                            Icons
  829. @remark */
  830. @remark /*************************************************************/
  831. @node IconsWindow
  832. @{b}Icons-Window@{ub}
  833. The Icons-Window has three major functions: changing filetypes
  834. of icons on the desktop, setting up of some desktop-specific options
  835. and creating of icons with nearly unlimited size and quality.
  836. @{b}Options:@{ub}
  837. File               filename of the desktop-files
  838. Trashcan-Action    lets you selected if you want to remove only
  839.                    icons or icons and files
  840. @{b}Icon-Saver:@{ub}
  841. Image1             filename of the first (normal) image of the
  842.                    icon to be generated
  843. Image2             optional 2nd image
  844. Icon               icon-file to be generated
  845. Color              sets the type of palette to be generated
  846. Width              specified the icon-width, the height depends
  847.                    on the aspect of the 1st image
  848. Depth              number of colors used for rendering
  849. Convert            After pressing the convert-button the images
  850.                    are loaded, scaled and rendered using the
  851.                    current screen-palette. If you want to create
  852.                    icons for the Workbench you have open Wildfire
  853.                    on the Workbench-screen (temporary). If you want
  854.                    to create icons in high quality use a very high
  855.                    screen-depth and convert the created icons into
  856.                    NewIcons later.
  857. @{b}Change the filetype:@{ub}
  858. If Wildfire didn't recognise the type of an external file correctly
  859. you can change this type by simply dragging the icon into the
  860. Icon-Window. After that a requester displaying the current and
  861. the available filetypes will appear.
  862. @endnode
  863. @remark /*************************************************************/
  864. @remark /*
  865. @remark                              DWA
  866. @remark */
  867. @remark /*************************************************************/
  868. @node DWAWindow
  869. @{b}DWA-Window@{ub}
  870. The DWA-Window allows you to access windows directly. This may
  871. help you to locate special functions in a faster way. After selecting
  872. a window and pressing the <enter>-key the selected window
  873. and all windows which are on top of it in the window-hierarchy are opened.
  874. If you set the "OpenDWA"-option in the @{"Preferences-Window" link PreferencesWindow}
  875. the DWA-Window will be opened at startup automatically.
  876. @endnode
  877. @remark /*************************************************************/
  878. @remark /*
  879. @remark                              Log
  880. @remark */
  881. @remark /*************************************************************/
  882. @node LogWindow
  883. @{b}Log-Window@{ub}
  884. All statistics, warnings and some additional informations are
  885. collected and displayed in this window.
  886. Of course this feature can be turned off.
  887. @{b}Functions@{ub}:
  888. State           toggle logfile-generation on/off
  889. Edit            edit the logfile
  890. Delete          delete the logfile
  891. Clear           clear the logfile
  892. Load            load the logfile
  893. Save            save the logfile
  894. Verbose         toggle verbose-mode on/off
  895. SaveAtExit      toggle saving of the logfile at program-exit on/off
  896. @endnode
  897. @node InfoWindow
  898. @{b}Info-Window@{ub}
  899. This window displays some useful informations like the available
  900. memory, the date, the amount of currently allocated memory
  901. and program-informations.
  902. @endnode
  903. @remark /*************************************************************/
  904. @remark /*
  905. @remark                            PlugIns
  906. @remark */
  907. @remark /*************************************************************/
  908. @node PlugInsWindow
  909. @{b}PlugIns-Window@{ub}
  910. The PlugIns-Window gives you control over external Wildfire-programs
  911. known as "General PlugIns".
  912. @{b}Functions@{ub}
  913. Add           add one or more PlugIns
  914. Delete        unload the selected PlugIn
  915. SavePrefs     save the settings of a PlugIn
  916. Open          activate the selected PlugIn
  917. Close         deactivate a PlugIn
  918. The "SavePrefs"-function saves the PlugIn-state and some private-date.
  919. If the PlugIn was open while saving it will be activated
  920. next time automatically.
  921. @{b}Available PlugIns@{ub}
  922.  @{"  ColorWheel     " link ColorWheelPlugIn}
  923.  @{"  Command        " link CommandPlugIn}
  924.  @{"  ConvertImages  " link ConvertImagesPlugIn}
  925.  @{"  CountPlugIns   " link CountPlugInsPlugIn}
  926.  @{"  EPSSaver       " link EPSSaverPlugIn}
  927.  @{"  GrabWindow     " link GrabWindowPlugIn}
  928.  @{"  TileImage      " link TileImagePlugIn}
  929.  @{"  SlideShow      " link SlideShowPlugIn}
  930. @endnode
  931. @node ColorWheelPlugIn
  932. @{b}ColorWheel-PlugIn@{ub}
  933. The ColorWheel-PlugIn was made to simplify the selection of the right
  934. colors for the various operators.
  935. Just select a color of your choice and use the values indicated at
  936. the bottom of the window as effect-parameters.
  937. @endnode
  938. @node CommandPlugIn
  939. @{b}Command-PlugIn@{ub}
  940. The Command-PlugIn executes the supplied input-string as
  941. Wildfire-ARexx-command.
  942. This may be useful while creating complicated macros
  943. or simply to test out how a particular command works.
  944. @endnode
  945. @node ConvertImagesPlugIn
  946. @{b}ConvertImages-PlugIn@{ub}
  947. The ConvertImages-PlugIn converts a drawer of images keeping
  948. all filenames. No special-effects can be applied.
  949. This is for example useful if you have a drawer with lots of
  950. jpeg-, tiff-, iff-, ... images and you want them all in png-format.
  951. The file-tag can be specified using the "Extension"-gadget - if
  952. this field is left blank the filenames are not changed.
  953. The output-format is selected as usual in the @{"Savers-Window" link SaversWindow} of
  954. the Processor.
  955. @endnode
  956. @node CountPlugInsPlugIn
  957. @{b}CountPlugIns-PlugIn@{ub}
  958. The CountPlugIns-PlugIn shows some statistics about the initialized
  959. PlugIns including Operators, Savers and General PlugIns.
  960. This trivial thing was created as example for the developer-
  961. kit which will be available soon.
  962. @endnode
  963. @node EPSSaverPlugIn
  964. @{b}EPSSaver-PlugIn@{ub}
  965. The EPSSaver-PlugIn converts any picture which can be read
  966. by Wildfire into an eps-file which can be included into
  967. TeX-documents or directly processed by ghostscript.
  968. @{b}Functions:@{ub}
  969.  Input        input-image
  970.  Output        eps-file to be generated
  971.  Resolution    resolution in dpi
  972.  Type        output-type: Gray, Color or Black&White
  973. @{b}Notes:@{ub}
  974.  1. This PlugIn replaces my iff2eps-package.
  975.  2. The eps-files created by this PlugIn are uncompressed and therefore
  976.     highly portable.
  977.  3. The eps-image will be centered on a normal A4-page automatically.
  978. @endnode
  979. @node SlideShowPlugIn
  980. @{b}SlideShow-PlugIn@{ub}
  981. The SlideShow-PlugIn allows you to create slideshows easily.
  982. There are many functions to create and modify a picture-list
  983. which can be loaded and saved.
  984. The slideshow is performed calling the external program
  985. "Visage" by Magnus Holmgren. This nice program is used
  986. because of it's capability of "loading while displaying".
  987. @{b}Functions:@{ub}
  988.  Add         add one or more images to the list
  989.  AddDir          add the contents of a whole drawer to the list
  990.  From, To, Step  picture-range
  991.  Remove          remove the selected picture from the list
  992.  Remove Range    remove all pictures inside the specified range from the list
  993.  Delete          delete the selected picture
  994.  File            file for loading/saving picture-lists
  995.  Save            save the current picture-list to disk
  996.  Load            load a previously saved picture-list
  997.  Clear           clear the current picture-list
  998.  Show            display the selected picture
  999.  Delay           pause between two images during the slideshow
  1000.  Go              perform the slideshow
  1001. The only way to abort the slideshow is to abort the viewer
  1002. sequentially pressing the right mouse-button. The number of 
  1003. required mouseclicks depends on the length of the image-paths 
  1004. and the number of items in the picture-list.
  1005. @endnode
  1006. @node GrabWindowPlugIn
  1007. @{b}GrabWindow-PlugIn@{ub}
  1008. The GrabWindow-PlugIn saves the selected Window or screen to harddisk.
  1009. The output-format is selected as usual in the @{"Savers-Window" link SaversWindow} of
  1010. the Processor.
  1011. @endnode
  1012. @node TileImagePlugIn
  1013. @{b}TileImage-PlugIn@{ub}
  1014. The TileImage-PlugIn splits a specified image into small portions
  1015. with the same size.
  1016. The output-format is selected as usual in the @{"Savers-Window" link SaversWindow} of
  1017. the Processor.
  1018. @{b}Functions:@{ub}
  1019.  Input        input-image
  1020.  Output        base-filename of the generated particles
  1021.  xCount        number of fragments in x-direction
  1022.  yCount        number of fragments in y-direction
  1023. @{b}Notes:@{ub}
  1024.  1. Finally you will get xCount*yCount fragments with
  1025.     filenames like "output.0001", "output.0002", ...
  1026.     The counter runs from the left lower edge to the right upper
  1027.     edge (which may be important if you want to use
  1028.     the created images later)
  1029.  2. the sum of the generated fragments must fit the
  1030.     image-size *exactly*. For example you can't subdivide
  1031.     an image of the dimensions 640x480 into 3x7 fragments
  1032.  3. The idea for this PlugIn is really not mine ;)
  1033. @endnode
  1034. @remark /*************************************************************/
  1035. @remark /*
  1036. @remark                            FAQ
  1037. @remark */
  1038. @remark /*************************************************************/
  1039. @node FAQ
  1040. @{b}Frequently Asked Questions@{ub}
  1041. 1. Q: Is there a WWW-site for Wildfire ?
  1042.    A: Not yet.
  1043. 2. Q: How to contact the author ?
  1044.    A: epgbc@cluster1.urz.Uni-Halle.DE
  1045. 3. Q: The demo-version I have installed isn't capable to convert
  1046.       large animations because of ''eating'' too much memory.
  1047.       Is this only a ''feature'' of the Demo-version ?
  1048.    A: Yes, of course !
  1049.       Wildfire has an own memory handler to simplify and speed up
  1050.       memory-allocations. The Demo-version has no free()-function,
  1051.       only the freeall()-function (which cleans up after program-exit)
  1052.       is available.
  1053. 4. Q: Wildfire crashes my machine heavily at startup...
  1054.    A: This is a serious thing.
  1055.       Before releasing any version of Wildfire I perform some
  1056.       characteristic enforcer-tests.
  1057.       So it's nearly impossible that the program performs
  1058.       some illegal things at startup itself.
  1059.       Maybe the reason is a lack in your system-software or a
  1060.       very special expansion-board.
  1061.       The following tools are installed in my system without
  1062.       causing any troubles with Wildfire:
  1063.        MCP (almost any things that make sense are enabled)
  1064.        DynamiCache
  1065.        NewIcons3.0
  1066.        DefIcons
  1067.        FastIPrefs
  1068.        NewMode
  1069.        PowerSnap
  1070.        ToolManager
  1071.        BlizKick
  1072.        KingCON
  1073.        fBlt
  1074.        CPUClr
  1075.        AAStarter
  1076.        PatchWPA8
  1077.        and maybe some more
  1078.       The following libraries are opened at startup:
  1079.        dos, graphics, intuition, diskfont, gadtools, utility,
  1080.        asl, wildfire, datatypes, amigaguide
  1081.       Long time ago I had a problem with another program crashing
  1082.       after opening an old version of amigaguide.library.
  1083.       So always try to use the latest and official versions of
  1084.       all of the disk-based libraries.
  1085.       For further help send me a more detailed bug-report
  1086.       including snoopdos- and enforcer-logfiles.
  1087. 5. Q: Wildfire crashes my machine after loading the PlugIns...
  1088.    A: Since version 2.56 the debug-option ("wf -debug")
  1089.       turns on the output of some startup- and cleanup-informations.
  1090.       Please try it again using this option and send me the
  1091.       generated output (if possible).
  1092. 6. Q: I've tried out the demo-version and it crashes after a while.
  1093.       I can't convert animations with it because I haven't enough
  1094.       memory to finish any operation.
  1095.       In may opinion you are loosing potential customers using such
  1096.       a way of restricting the unregistered program version.
  1097.       It would be much better to print your logo to every generated
  1098.       image - nobody could use the program seriously without registering.
  1099.    A: This is no bad idea. In fact I had implemented this "feature"
  1100.       in a previous version. The problem is that it's too easy to
  1101.       patch for "sunday-crackers".
  1102.       The way I currently use requires much more knowledge than
  1103.       simply replacing code-lines of the disassembled binary
  1104.       with "nop"-statements.
  1105.       Another point is that I think that's not necessary to create
  1106.       complete animations to decide if Wildfire is worth registering
  1107.       or not. Many working features of the unregistered version
  1108.       are missing in much more expensive "commercial" software.
  1109. 7. Q: Why did you release Wildfire as shareware ? It looks very
  1110.       professional.
  1111.    A: Well, Wildfire *IS* a professional piece of software.
  1112.       The main reason is the fact that Wildfire released as shareware
  1113.       is one of the programs with the best price/performance-ratio.
  1114.       If you release a program as "commercial product" a lot of money
  1115.       is spent for any other purpose than the program-development.
  1116.       A printed manual for example is very expensive to produce but
  1117.       the most people doesn't read manuals.
  1118.       Another advantage is the fast availability of free updates.
  1119.       Finally we couldn't find a distributor here in Germany because
  1120.       most of them sell their own gfx-software and the remaining ones
  1121.       are not professional.
  1122. @endnode
  1123. @remark /*************************************************************/
  1124. @remark /*
  1125. @remark                            Processor
  1126. @remark */
  1127. @remark /*************************************************************/
  1128. @node ProcessorWindow
  1129. @{b}Processor-Window@{ub}
  1130. @{u}Introduction@{uu}
  1131. The Processor is Wildfire's powerful image-processing engine which acts
  1132. as a PlugIn between the Converter's input and output.
  1133. If you have understood the basic @{" concept " link pcConcept} of this architecture
  1134. it's easy for you to create almost any complicated or simple effect.
  1135. @{b}Functions:@{ub}
  1136. @{u}Process-script:@{uu}
  1137. Add            open the @{" Operators-Window " link OperatorsWindow} to append an operator to the list
  1138. Kill           kill the selected item
  1139. Duplicate      duplicate the selected item
  1140. Import         import one or more items from a previously saved Process-file
  1141. Edit           open the options-window of the selected Operator
  1142. Up             move the selected item up
  1143. Down           move the selected item down
  1144. Visible/Hidden toggle if the current item remains visible if folding is
  1145.                enabled
  1146. Folding        toggle list-folding on/off
  1147. Range          the frame-range of the current Operator
  1148. Folding is very nice feature creating very complex scripts.
  1149. If a particular scene works you should hide it to work on the next one.
  1150. A comment describing the hidden scene and maybe the frame-range
  1151. should be left visible.
  1152. @{u}Options:@{uu}
  1153. Mode           color-mode for rendered images
  1154. Dither         dithering-method used rendering images
  1155. Depth          depth of rendered images
  1156. CSkip          number of colors not used rendering images, this may
  1157.                be useful for creating Workbench-backdrops
  1158. Scale          @{" Process-Scale-value " link pcScale}
  1159. 3DQuant        3D-quantization-parameter which causes the 3D-operators to
  1160.                approximate the input-image by faces to speed up the
  1161.                generation of previews.
  1162.                The value indicates the size of the generated rectangles in
  1163.                pixels, larger values increase the speed and decrease both
  1164.                the memory-consumption and the quality.
  1165. Smooth         toggle smoothing for various Operators on/off
  1166. Single Image   open the @{" SinglePicture-Window " link SinglePictureWindow} to process single images
  1167. Variables      open the @{" Variables-Window     " link VariablesWindow} to edit time-dependant animation-paramters
  1168. Savers         open the @{" Savers-Window        " link SaversWindow} to select the Saver used while writing TrueColor-images
  1169. Palette        open the @{" Palette-Window       " link PaletteWindow} to create a locked Palette
  1170. Calculator     open the @{" Calculator-Window    " link CalculatorWindow}
  1171. File           filename used for loading/saving of Process-scripts
  1172. Load           load a previously saved Process-file
  1173. Save           save the Process-script, all Variables and the Palette
  1174.                as Process-file
  1175. Clear          clear the Process-script, all Variables keep unchanged
  1176. @{b}Additional ShortCuts:@{ub}
  1177. <del>            delete the selected list-item
  1178. <space>          Test Process of the @{" SinglePicture-Window " link SinglePictureWindow}
  1179. <v>              toggle @{" Preview " link ProcessorPreview} on/off
  1180. <up>,<down>      browse through the Process-list
  1181. <left>           unfold item (if folding=off)
  1182. <left>           unfold whole list after safety-requester (if folding=on)
  1183. <right>          fold item
  1184. @endnode
  1185. @node pcConcept
  1186. @{b}The concept@{ub}
  1187. A normal animation-converter like MainActor reads in a input-stream
  1188. of pictures and writes them as output-stream to harddisk.
  1189. (The complicated process of (de)compressing various animation-
  1190. formats is here neglected.)
  1191. The Converter of Wildfire extends this simple concept by a
  1192. PlugIn-architecture. You can "plug in" as many modifications
  1193. between the input and the output as you want. These modifications
  1194. are realized via Operators.
  1195. For example this concept would allow to scale down animations
  1196. "plugging in" a Halve-operator.
  1197. A further extension is the usage of tempory buffers called
  1198. "TEMP-buffers". Every Wildfire-PlugIn has at least two Parameters:
  1199. the input- and the output-buffer. The "normal" buffer generated
  1200. by the Converter is called "STREAM". There are 8 TEMP-buffers
  1201. called "TEMP1"..."TEMP8".
  1202. In this terms the process of halving an animation looks like this:
  1203. input
  1204.   ->STREAM -> Halve -> STREAM
  1205.                          I
  1206.                        output
  1207. This concept of TEMP-buffers is much more powerful. For example it
  1208. allows you to create an animation which consists of the input-
  1209. animation as gray background and as small colored foreground.
  1210. In this case you would need a Scale-, a ColorToGray- and a Compose-
  1211. PlugIn.
  1212. The scheme would look like this:
  1213. input
  1214.   ->STREAM -> Scale       -> TEMP1  )
  1215.                                      > Compose -> STREAM
  1216.            -> ColorToGray -> STREAM )               I
  1217.                                                   output
  1218. But this concept doesn't allow you very complicated effects
  1219. like a jumping animation in front of a melting one.
  1220. So a further extension is necessary: time-dependant animation-
  1221. parameters.
  1222. For example this allows you to create a spinning animation.
  1223. All you need is a Rotate-PlugIn and a rotate-amount running
  1224. from 0 to 360 degrees during the whole animation.
  1225. Let's assume your animation has 120 frames. To convert it into a
  1226. spinning one you have to "plug in" the Rotate-Operator, to
  1227. create the Envelope describing the variation of the
  1228. rotate-amount with the frame number and to "plug in" this
  1229. Envelope into the Rotate-Operator. That's it.
  1230. The Envelope consists of two points one at frame 0 with the
  1231. value 0 and one at frame 120 with the value 360.
  1232. Setting the value 0 at frame 0 which is never reached (the
  1233. first frame is always 1) causes the creation of a looping
  1234. animation.
  1235. As said before, if you understood this concept you can
  1236. do almost anything.
  1237. Example: Compose four different animations after applying
  1238. a Twirl-effect to the 1st, a Negative-effect to the 2nd,
  1239. a Cube-effect to the 3rd and a Posterise-effect to the 4th one:
  1240. input
  1241.   ->STREAM -> Twirl ->STREAM                     )
  1242.                                                   > Compose -> STREAM                                     )
  1243.           LoadImage ->TEMP1 -> Negative -> TEMP1 )                                                         )
  1244.                                                                                                             > Compose -> STREAM
  1245.                                              LoadImage -> TEMP1 -> Cube      -> TEMP1 )                    )               I
  1246.                                                                                        > Compose -> TEMP1 )              output
  1247.                                              LoadImage -> TEMP2 -> Poszerise -> TEMP2 )
  1248. This example doesn't make any sense but demonstrates that
  1249. the only limit is your own creativity.
  1250. @endnode
  1251. @node pcScale
  1252. @{b}Process-Scale-value@{ub}
  1253. This harmless-looking option is a real mega-feature: It allows you to
  1254. use Processor-scripts designed for a particular image-size to apply to
  1255. images of other dimensions.
  1256. Example: You have designed a large project of about 1000 frames
  1257.          processing images of a dimension 320x256. Now you want to
  1258.          create a preview-animation of the halve size.
  1259.          So simply set the Scale-value to 0.5.
  1260. Due the nature of such feature there are some restrictions:
  1261.  *the current image-sequence must have the same aspect as the one the
  1262.   script was designed for
  1263.  *some very special operators cannot be used, e.g. the font-size
  1264.   of the Text-operator cannot be scaled contingously
  1265. But the last point is no real restriction because these few
  1266. operators can be replaced (temporarily).
  1267. There is one very important thing you should always remember.
  1268. After changing the Process-Scale-value all process-parameters
  1269. which are in pixel-units are scaled. That may be cause very
  1270. strange results if you use images with a dimension which doesn't
  1271. fit this scale-value. 
  1272. Example: You use a scale-value of 0.5 and the same images the
  1273.          script was designed for. In this case all size-dependant
  1274.          are divided by 2. If you script for example contains
  1275.          a 3D-operator with a camZ-value of -800 this value will
  1276.          be reduced to -400. This will cause a very strange
  1277.          view if your image has a size of 640x480, the program
  1278.          may even hang up due the rendering of almost infinite
  1279.          large faces.
  1280. So always don't forget to change the input-stream and not only
  1281. the Process-Scale-value !
  1282. @endnode
  1283. @node ProcessorPreview
  1284. @{b}Preview-Window@{ub}
  1285. The Preview is a very useful feature while testing complicated scripts.
  1286. It applies the current-Process-script to a smaller version
  1287. of the picture specified in the @{" SinglePicture-Window " link SinglePictureWindow}.
  1288. The change of any parameter is visible in the Process-Window
  1289. instantly (on fast machines). To abort the geneneration of
  1290. the preview hold the left mouse-button.
  1291. The width and depth of the preview can be specified from within the
  1292. @{" SinglePicture-Window " link SinglePictureWindow}.
  1293. A width of 160 and a depth of 4 is a should be always good choice.
  1294. The original width of the input-image is displayed in the
  1295. window title. This may be sometimes important adjusting size-dependant
  1296. parameters.
  1297. If you used a "normal" image-processor before you may have enjoyed
  1298. the feature of graphically specifing parameters like dragging a rectangle
  1299. for a Crop-effect. Such a feature isn't implemented into Wildfire
  1300. because I had no idea of good concept yet.
  1301. The problem is that all Operators of the Process-script are
  1302. independant. That means that a Twirl-effects doesn't "know" about
  1303. a Scale-effect executed before.
  1304. And the Scale-effect doesn't "know" about about a CreateImage-effect
  1305. executed before...
  1306. A first attempt is the @{" ImageCoordinates-Window " link ImageCoordinatesWindow} which
  1307. allows you to graphically modify some types of controls inside the
  1308. Preview-Window. For example if you want to crop an image you may
  1309. use the "Rectangle"-control and later copy the indicated coordinates
  1310. to the options-window of the Crop-PlugIn.
  1311. To disable a particular effect temporaray simply modify it's working
  1312. range (especially the from-value).
  1313. @{b}Shortcuts:@{ub}
  1314. <space>       refresh the image (e.g. after aborting)
  1315. <c>           open the @{" ImageCoordinates-Window " link ImageCoordinatesWindow}
  1316. @endnode
  1317. @node ImageCoordinatesWindow
  1318. @{b}ImageCoordinatesWindow@{ub}
  1319. The ImageCoordinates-Window is a first attempt to modify parameters
  1320. graphically. There a some types of controls which can be dragged and 
  1321. modified using the mouse. All interesting values like image-coordinates
  1322. or the radius of a circle are indicated and could be copied to the 
  1323. options-window of the selected PlugIn.
  1324. @{b}Functions@{ub}
  1325. Control-Type     type of control:
  1326.                    point : simple point, e.g. represting a upper-left edge
  1327.                            of a image to be composed
  1328.                    rect  : e.g. representing a crop-region
  1329.                    circle: e.g. representing the amount and the radius
  1330.                                 of a Twirl-effect
  1331. Left,Top         coordinates of the point (in coordiantes of the unscaled image),
  1332.                  upper-left edge of the rectangle,
  1333.                  centre of the circle,
  1334. Right, Bottom    lower-right edge of the rectangle
  1335. Angle            angle of the current drawn radius of the circle
  1336. Radius           radius of the circle
  1337. @endnode
  1338. @node SinglePictureWindow
  1339. @{b}SinglePicture-Window@{ub}
  1340. This window is made to process single images and to simplify the
  1341. creation of complicated Processor-scripts.
  1342. @{b}Functions:@{ub}
  1343. Input              input image, this field is by default initialized by
  1344.                    Wildfire's intro-picture because it must be always
  1345.                    filled
  1346. Frame              the current frame
  1347. Frames             number of frames, this value is only used as maximum
  1348.                    for the scrollbar below
  1349. Scrollbar          another way to change the current frame number
  1350. Test Process       execute the current Processor-script using the current
  1351.                    frame-number and display the result
  1352. Screenmode         select the screenmode used by the "Test Process"-function
  1353. Apply Dimensions   apply the dimensions of the current input-image to the
  1354.                    selected operator, e.g. if the selected operator is a
  1355.                    Twirl-effect the centre and the radius is set
  1356. Preview            toggle @{" Preview " link ProcessorPreview} on/off
  1357. Width              width of the preview
  1358. Depth              depth of the preview, if this value exceeds the
  1359.                    screen-depth the screen is updated automatically
  1360. Output             output-image
  1361. Save Image         execute the current Processor-script using the current
  1362.                    frame-number and save the result using the saver
  1363.                    selected in the @{" Savers-Window " link SaversWindow}
  1364. Save Rendered      execute the current Processor-script using the current
  1365.                    frame-number, render it using the settings made
  1366.                    in the Processor-Window and save the result as ILBM-image
  1367. @{b}Additional Shortcuts:@{ub}
  1368.  <v>               toggle @{" Preview " link ProcessorPreview} on/off
  1369.  <space>           Test Process
  1370.  <left>,<right>    decrease/increase the current frame-number
  1371. @endnode
  1372. @node VariablesWindow
  1373. @{b}Variables-Window@{ub}
  1374. From within the Variables-Window time-dependent animation-parameters
  1375. are created, modified, loaded and saved.
  1376. @{b}Functions:@{ub}
  1377. Add                 add a variable
  1378. Kill                kill the selected Variable
  1379. Rename              rename the selected Variable
  1380. Envelope            open the @{" Envelope-Window " link EnvelopeWindow} to graphically
  1381.                     edit the current variable
  1382. File                filenames used for loading/saving of variables
  1383. Load                load variables from a previously saved Variables-file
  1384. Save                save all variables to disk
  1385. Clear               clear all variables
  1386. After clearing a Variable all informations about this Variable
  1387. are lost - even in the Processor-script.
  1388. @endnode
  1389. @node SaversWindow
  1390. @{b}Savers-Window@{ub}
  1391. From within this window the Saver used for writing Truecolor-images
  1392. is choosen. Most Savers offer an options-window which can be
  1393. accessed from within the Savers-Window, too.
  1394. Another purpose is to add or remove Saver-PlugIns.
  1395. Saver-PlugIns contain both the save- and the load-functions for a
  1396. particular image-format. Removing a Saver causes the loss of the
  1397. capability to load and save images of this file-format.
  1398. All unknown fileformats are handled via datatypes which is restricted
  1399. to the operation of loading.
  1400. Most Saver-PlugIns allow you to disable the loader-function explicitly.
  1401. This may be necessary if the Wildfire-loader doesn't support a
  1402. particular sub-format and you want to use datatypes. An example is
  1403. the PNG-format with it's lots of options.
  1404. There a many people saying "may xxx-datatype is the best, the greatest
  1405. and the fastest". If this is also your opinion you may
  1406. switch the loaders permanently off saving the prefs after
  1407. disabling.
  1408. (In fact it's nearly impossible to write a datatypes which operates
  1409.  faster than Wildfire because this program always was to designed
  1410.  to be fast and not to conserve memory.)
  1411. @{b}Functions:@{ub}
  1412. Add            add an external Saver-PlugIn
  1413. Delete         delete the selected Saver-PlugIn
  1414. SavePrefs      save all of the options of the current PlugIn
  1415. Options        open the options-window of the selected Saver-PlugIn
  1416. @{b}Available Savers@{ub}
  1417.  @{" ILBM " link ILBMSaver}
  1418.  @{" JPEG " link JPEGSaver}
  1419.  @{" PNG  " link PNGSaver}
  1420. @endnode
  1421. @node ILBMSaver
  1422. @{b}ILBM-Saver@{ub}
  1423. This PlugIn saves and load images in the ILBM-format.
  1424. @{b}Options:@{ub}
  1425. Compression     ByteRun1/Node
  1426. Loader          disable/enable the loader
  1427. The choice of no compression is good for saving huge images
  1428. (e.g. at 600dpi). In such cases there may be not enough
  1429. memory to do any compression.
  1430. @endnode
  1431. @node JPEGSaver
  1432. @{b}JPEG-Saver@{ub}
  1433. This PlugIn saves and load images in the JPEG-format.
  1434. @{b}Options:@{ub}
  1435. Quality         remaining image-quality in percent
  1436. Format          toggle Normal/Progressive-format
  1437. Optimize        toggle Huffman-table-optimizing on/off
  1438. Output          toggle TrueColor/GrayScale-output
  1439. Loader          disable/enable the loader
  1440. In the most cases the TrueColor-Progressive-format should
  1441. be the best choice.
  1442. This PlugIn uses routines of the @{b}IJG JPEG Library@{ub}
  1443. developed by @{b}The Independent JPEG Group.@{ub}
  1444. @endnode
  1445. @node PNGSaver
  1446. @{b}PNG-Saver@{ub}
  1447. This PlugIn saves and load images in the PNG-format.
  1448. @{b}Options:@{ub}
  1449. Format          various formats are supported:
  1450.                  24Bit RGB   : TrueColor-image
  1451.                   8Bit Color : rendered image in 256 colors
  1452.                                (good GIF-replacement)
  1453.                   8Bit Gray  : grayscale-image
  1454.                   4Bit color : rendered image in 16 colors
  1455.                   Black&White: rendered Grayscale image in 2 colors
  1456. Loader          disable/enable the loader
  1457. This PlugIn uses routines of the @{b}PNG Reference Library@{ub}
  1458. developed by @{b}Group 42, Inc.@{ub}
  1459. @endnode
  1460. @node PaletteWindow
  1461. @{b}Palette-Window@{ub}
  1462. The Palette-Window lets you create, modify, load and save a
  1463. locked Palette used by the Processor while rendering images.
  1464. @{b}Functions:@{ub}
  1465. File              file to load/save palettes
  1466. Load              load the palette from the selected file,
  1467. Save              save the current palette to disk
  1468. Red, Green, Blue  values of the current selected palette-entry
  1469. Copy              duplicate the current color
  1470. Exchange          exchange two colors
  1471. Spread            create a color-transition between two colors
  1472. Undo              reset the last changed color to its previous value
  1473. State             toggle the state of the Palette
  1474. Use               make all performed changed permanent
  1475. Cancel            cancel all apllied changes
  1476. If the state of the Palette is enabled it will be used for all
  1477. forthcoming render-processes. This is very important if
  1478. you want to create animations with locked colors using
  1479. the Processor.
  1480. If you use a screendepth smaller than 8 no change of Palette
  1481. will be visible (indicated by changing screen-colors).
  1482. In the other case while pressing the right mouse-button the
  1483. normal screen-colors are used for the lower palette-entries
  1484. which is important to locate gadgets.
  1485. @endnode
  1486. @node CalculatorWindow
  1487. @{b}Calculator-Window@{ub}
  1488. The Calculator-window is made to easily evaluate mathematical expressions
  1489. and to define or view user-defined symbols.
  1490. Most of Wildfire's gadgets allow you to enter mathematical expressions, too.
  1491. The symbols defined from within the Calculator-Window can be accessed
  1492. from this gadgets, too.
  1493. @{b}Functions:@{ub}
  1494. 1st string-gadget      expression to evaluate
  1495. Results                shows the last three results
  1496. Symbols                list of all user-defined symbols, especially constants
  1497. Load                   load symbols from a previously saved file
  1498. Save                   save all symbols to disk
  1499. To define a symbol enter it's name and optionally it's value,
  1500. e.g. "a=sqrt(9)/2" initializes the symbol "a" with the value 1.5.
  1501. Later you could enter the expression "a/2" into of the Processor-gadgets.
  1502. If the corresponding value (e.g. a zoom-factor) is of type float it
  1503. will be set to 0.75 otherwise it will be rounded to 1.
  1504. @endnode
  1505. @node EnvelopeWindow
  1506. @{b}Envelope-Window@{ub}
  1507. From within this window all time-dependent animation-parameters
  1508. (called "Envelopes") are created and modified.
  1509. An Envelope is a twodimensional curve with the frame-number
  1510. as x-values and the animation-parameter as y-value. Therefore
  1511. the x-values are always integer-values.
  1512. If the framber-number of the Processor exceeds the range of an
  1513. Envelope the first or last y-Value is used. This means if your Envelope
  1514. only contains one point the y-value of this point is used for
  1515. all frame-numbers.
  1516. Most operations are made using the mouse. A point is selected
  1517. by clicking on it. Moving the mouse while holding the left
  1518. button causes the selected point to be dragged.
  1519. The whole graph can be scrolled using the cursor-keys.
  1520. @{b}Functions:@{ub}
  1521. XRange            the displayed x-range
  1522. YRange            the displayed y-range
  1523. X                 the x-value (frame-number) of the selected point
  1524. Y                 the y-value of the selected point
  1525. Add Point         add a point
  1526. Kill Point        kill a point
  1527. Type              change the type of the Envelope:
  1528.                    Linear: connect two points by straight lines
  1529.                    Spline: use a cubic spline interpolation to connect points
  1530.                    Bezier: surround points by bezier-curves
  1531. View All          view the whole Envelope
  1532. File              filename to save/load Envelopes
  1533. Load              load a previously saved Envelope
  1534. Save              save the current Envelope to disk
  1535. Use               make all performed changes permanent
  1536. Cancel            discard all applied changes
  1537. Advanced Options  open the @{" EnvelopeAdvanced-Window " link EnvelopeAdvancedWindow} to perform
  1538.                   more complex operations
  1539. @endnode
  1540. @node EnvelopeAdvancedWindow
  1541. @{b}EnvelopeAdvanced-Window@{ub}
  1542. From within this window seldom-used but very useful transformations
  1543. are applied to Envelopes.
  1544. @{b}Functions:@{ub}
  1545. @{u}Point-Operations:@{uu}
  1546. First, Last, Step     point-range affected by transformations
  1547. YValue                x-value used by the transformation
  1548. YValue                y-value used by the transformation
  1549. Scale                 scale the Envelope by the x- and y- value specified below
  1550. Shift                 shift the Envelope by the x- and y- value specified below
  1551. @{u}Evaluate Expression:@{uu}
  1552. XMin, XMax, XStep     x-range used for evaluating
  1553. Expression            mathematical expression as function of "x"
  1554. Evaluate              create an Envelope using the x-range as frame-numbers
  1555.                       and the evaluated values as y-value
  1556. @{u}Import/Export:@{uu}
  1557. Load Curve            load a 2D-data file used by plotting programs 
  1558.                       and convert it as an Envelope
  1559. Save Curve            save the current Envelope as 2D-datafile
  1560. Load Timecodes        load a previously saved Timecodes-file and convert
  1561.                       it as an Envelope
  1562. Save Timecodes        save the current Envelope as a Timecodes-file used
  1563.                       from within the @{"Timecodes-Window" link TimecodesWindow}
  1564. @endnode
  1565. @node OperatorsWindow
  1566. @{b}Operators-Window@{ub}
  1567. The Operators-Window opens after pressing the "Add"-button of the
  1568. Processor-Window and allows you to select an operator which will be
  1569. appended to your Processor-script.
  1570. Another purpose is to add PlugIns to the internal database
  1571. or to remove them.
  1572. All operations can be done both using the mouse and the keyboard.
  1573. Use the cursor-keys to browse through the lists and the <enter>-key
  1574. to apply the selection.
  1575. @{b}Functions:@{ub}
  1576. Add             to load one or more PlugIns from harddisk
  1577. Delete          to delete the selected PlugIn
  1578. Select          to append the selected operator to the Processor-script
  1579. Cancel          to cancel the selection
  1580. @{b}Operator-PlugIns:@{ub}
  1581. There are five basic types of Operator-PlugIns according to their
  1582. purpose.
  1583.  @{b}Buffer:@{ub} modifying or creating buffers
  1584.    @{" Add             " link opAdd            } Add two images                             @{" Example " system "visage wf:doc/pictures/Add.pic"}
  1585.    @{" Compose         " link opCompose        } Compose two images                         @{" Example " system "visage wf:doc/pictures/Compose.pic"}
  1586.    @{" CreateImage     " link opCreateImage    } Create a colored image                     @{" Example " system "visage wf:doc/pictures/CreateImage.pic"}
  1587.    @{" Crop            " link opCrop           } Cut off a rectangular area of an image
  1588.    @{" KillTemp        " link opKillTemp       } Kill a TEMP-buffer
  1589.    @{" LoadImage       " link opLoadImage      } Load an image from harddisk
  1590.    @{" LoadTemp        " link opLoadTemp       } Copy a TEMP-buffer to the main stream
  1591.    @{" Plasma          " link opPlasma         } Create a colored image                     @{" Example " system "visage wf:doc/pictures/Plasma.pic"}
  1592.    @{" ReplaceComp     " link opReplaceComp    } Replace a color-channel of an image        @{" Example " system "visage wf:doc/pictures/ReplaceComp.pic"}
  1593.    @{" SaveImage       " link opSaveImage      } Save an image to disk
  1594.    @{" SaveTemp        " link opSaveTemp       } Copy the main stream to a TEMP-buffer
  1595.  @{b}2D-F/X:@{ub} performing 2D-transformations
  1596.    @{" BlackHole       " link opBlackHole      } Deform an image                            @{" Example " system "visage wf:doc/pictures/BlackHole.pic"}
  1597.    @{" Cartesian2Polar " link opCartesian2Polar} Transform the coordinates of an image      @{" Example " system "visage wf:doc/pictures/Cartesian2Polar.pic"}
  1598.    @{" Displace        " link opDisplace       } Randomly exchange points of an image       @{" Example " system "visage wf:doc/pictures/Displace.pic"}
  1599.    @{" Flip            " link opFlip           } Mirror an image along various directions   @{" Example " system "visage wf:doc/pictures/Flip.pic"}
  1600.    @{" Halve           " link opHalve          } Quickly halve the dimensionsions of an image
  1601.    @{" Magnet          " link opMagnet         } Deform the image                           @{" Example " system "visage wf:doc/pictures/Magnet.pic"}
  1602.    @{" MotionBlur      " link opMotionBlur     } Apply a touch of motion to an image        @{" Example " system "visage wf:doc/pictures/MotionBlur.pic"}
  1603.    @{" Pixelize        " link opPixelize       } Reduce the resolution of an image          @{" Example " system "visage wf:doc/pictures/Pixelize.pic"}
  1604.    @{" Roll            " link opRoll           } Scroll an image along every direction      @{" Example " system "visage wf:doc/pictures/Roll.pic"}
  1605.    @{" Rotate          " link opRotate         } Rotate (a portion) of the image            @{" Example " system "visage wf:doc/pictures/Rotate.pic"}
  1606.    @{" RotateBlur      " link opRotateBlur     } Apply a touch of motion to an image        @{" Example " system "visage wf:doc/pictures/RotateBlur.pic"}
  1607.    @{" Scale           " link opScale          } Scale an image
  1608.    @{" Shear           " link opShear          } Shear the image                            @{" Example " system "visage wf:doc/pictures/Shear.pic"}
  1609.    @{" ShiftLines      " link opShiftLines     } Randomly shift the lines of an image       @{" Example " system "visage wf:doc/pictures/ShiftLines.pic"}
  1610.    @{" Twirl           " link opTwirl          } Deform an image                            @{" Example " system "visage wf:doc/pictures/Twirl.pic"}
  1611.    @{" Wave            " link opWave           } Apply a harmonic 2D-Wave to the image      @{" Example " system "visage wf:doc/pictures/Wave.pic"}
  1612.  @{b}Color:@{ub}  applying color-transformations
  1613.    @{" Alpha           " link opAlpha          } Color Changes using an Alpha Channel       @{" Example " system "visage wf:doc/pictures/Alpha.pic"}
  1614.    @{" Antique         " link opAntique        } Change the colors to look "antique"        @{" Example " system "visage wf:doc/pictures/Antique.pic"}
  1615.    @{" Balancing       " link opBalancing      } Change the colors using Balancing          @{" Example " system "visage wf:doc/pictures/Balancing.pic"}
  1616.    @{" ColorToGray     " link opColorToGray    } Convert an image into grayscale            @{" Example " system "visage wf:doc/pictures/ColorToGray.pic"}
  1617.    @{" Convolve        " link opConvolve       } Apply a convolution-filter                 @{" Example " system "visage wf:doc/pictures/Convolve.pic"}
  1618.    @{" Emboss          " link opEmboss         } Change an image to look like made of stone @{" Example " system "visage wf:doc/pictures/Emboss.pic"}
  1619.    @{" LUT             " link opLUT            } Change the colors using a LookUpTable      @{" Example " system "visage wf:doc/pictures/LUT.pic"}
  1620.    @{" MedianFilter    " link opMedianFilter   } Apply a medianfilter to an image
  1621.    @{" Negative        " link opNegative       } Turn dark portions into light portions     @{" Example " system "visage wf:doc/pictures/Negative.pic"}
  1622.    @{" Noise           " link opNoise          } Apply random noise to an image             @{" Example " system "visage wf:doc/pictures/Noise.pic"}
  1623.    @{" OilTransfer     " link opOilTransfer    } Change the image to look like "oilpainted" @{" Example " system "visage wf:doc/pictures/OilTransfer.pic"}
  1624.    @{" Posterise       " link opPosterise      } Reduce the color-information of an image   @{" Example " system "visage wf:doc/pictures/Posterise.pic"}
  1625.    @{" SwapRGB         " link opSwapRGB        } Swap the color-components of an image      @{" Example " system "visage wf:doc/pictures/SwapRGB.pic"}
  1626.    @{" Threshold       " link opThreshold      } Create alpha channels                      @{" Example " system "visage wf:doc/pictures/Threshold.pic"}
  1627.  @{b}3D-F/X:@{ub}   performing complex 3D-transformations
  1628.    @{" Bump            " link opBump           } Add a third dimension to an image          @{" Example " system "visage wf:doc/pictures/Bump.pic"}
  1629.    @{" Cube            " link opCube           } Wrap an image on a cube                    @{" Example " system "visage wf:doc/pictures/Cube.pic"}
  1630.    @{" LWOB            " link opLWOB           } Load and draw Lightwave-objects            @{" Example " system "visage wf:doc/pictures/LWOB.pic"}
  1631.    @{" Perspective     " link opPerspective    } Add perspective to an image                @{" Example " system "visage wf:doc/pictures/Perspective.pic"}
  1632.    @{" Water           " link opWater          } Apply an anharmonic water-wave to an image @{" Example " system "visage wf:doc/pictures/Water.pic"}
  1633.    @{" Wave3D          " link opWave3D         } Apply a harmonic wave to an image          @{" Example " system "visage wf:doc/pictures/Wave3D.pic"}
  1634.    @{" Wrap            " link opWrap           } Wrap the image on a sphere or a tube       @{" Example " system "visage wf:doc/pictures/Wrap.pic"}
  1635.  @{b}Misc:@{ub}     very special or seldom-used PlugIns
  1636.    @{" ARexx           " link opARexx          } Exchange images with other applications
  1637.    @{" Comment         " link opComment        } Add a comment to the Processor-script
  1638.    @{" Example         " link opExample        } Example for the developer-kit              @{" Example " system "visage wf:doc/pictures/Example.pic"}
  1639.    @{" Raster          " link opRaster         } Apply a black raster to an image           @{" Example " system "visage wf:doc/pictures/Raster.pic"}
  1640.    @{" Text            " link opText           } Render text using various styles           @{" Example " system "visage wf:doc/pictures/Text.pic"}
  1641. @endnode
  1642. @node opAdd
  1643. @{b}Add-Operator@{ub}
  1644. This operator adds or subtracts two images.
  1645. @{b}Parameters@{ub}
  1646. Input1       1st source buffer
  1647. Input2       2nd source buffer
  1648. Output       destination buffer
  1649. Mode         add or subtract the images
  1650. @endnode
  1651. @node opCompose
  1652. @{b}Compose-Operator@{ub}
  1653. This operator composes two images using several genlock-methods
  1654. and optionaly an alpha-channel.
  1655. @{b}Parameters@{ub}
  1656. Background           background image
  1657. Foreground           foreground image
  1658. Destination          destination buffer
  1659. Alpha                optional alpha buffer
  1660. Left                 left edge of the foreground image
  1661. Top                  top edge of the foreground image
  1662. Mix                  transparency of the foreground image
  1663. CentreX              center the foreground horizontally
  1664. CentreY              center the foreground vertically
  1665. Red1, Green1, Blue1: genlock-color 1
  1666. Red2, Green2, Blue2: genlock-color 2
  1667. Genlock              type of genlock:
  1668.                       none                : no genlock
  1669.                       single color        : normal genlock using color 1
  1670.                       inside color range  : extended genlock using all colors
  1671.                                             inside the range color1...color2
  1672.                       outside color range : extended genlock using all colors
  1673.                                             outside the range color1...color2
  1674. @endnode
  1675. @node opCreateImage
  1676. @{b}CreateImage-Operator@{ub}
  1677. This operator creates an image with an optional color-transition.
  1678. @{b}Parameters@{ub}
  1679. Output                output-buffer
  1680. Width                 width of the generated image
  1681. Height                height of the generated image
  1682. Palette               select one of the four edges
  1683. Red, Green, Blue      color of the edges
  1684. HCopy                 copy the selected color horizontally
  1685. VCopy                 copy the selected color vertically
  1686. HVCopy                apply the selected color to all four edges
  1687. @endnode
  1688. @node opCrop
  1689. @{b}Crop-Operator@{ub}
  1690. This operator cuts out a rectangular area of an image.
  1691. @{b}Parameters@{ub}
  1692. Input       input buffer
  1693. Output      output buffer
  1694. Left        left edge of the rectangle
  1695. Top         top edge of the rectangle
  1696. Width       width of the rectangle
  1697. Height      height of the rectangle
  1698. @endnode
  1699. @node opKillTemp
  1700. @{b}KillTemp-Operator@{ub}
  1701. This operator clears a TEMP-buffer and frees it's memory.
  1702. @{b}Parameters@{ub}
  1703. Buffer       TEMP-buffer to kill
  1704. @endnode
  1705. @node opLoadImage
  1706. @{b}LoadImage-Operator@{ub}
  1707. This operator loads an image or an image-sequence from disk.
  1708. @{b}Parameters@{ub}
  1709. Output       output buffer
  1710. Sequence     complete filename of an single image or base-filename
  1711.              of an image-sequence
  1712. Loop         length of the image-sequence
  1713. Shift        shift-value for the filenames of an image-sequence
  1714. Show         show the choosen image
  1715. @endnode
  1716. @node opLoadTemp
  1717. @{b}LoadTemp-Operator@{ub}
  1718. This operator replaces the input-stream with a TEMP-buffer.
  1719. @{b}Parameters@{ub}
  1720. Buffer       TEMP-buffer which holds the image to apply
  1721. @endnode
  1722. @node opPlasma
  1723. @{b}Plasma-Operator@{ub}
  1724. This operator creates an image using a fractal algorithm.
  1725. @{b}Parameters@{ub}
  1726. Output       output buffer
  1727. Width        width of the generated image
  1728. Height       height of the generated image
  1729. Dimension    fractal dimension which affects the smoothness of the fractal
  1730. Seed         Parameter which affects the shape
  1731. @endnode
  1732. @node opReplaceComp
  1733. @{b}ReplaceComp-Operator@{ub}
  1734. This operator replaces a color-channel of an image with the
  1735. red-channel of an other image. The main purpose of this
  1736. PlugIn is to create Stereo-3D-Images.
  1737. @{b}Parameters@{ub}
  1738. Input1       input buffer
  1739. Input2       image which replaces the selected channel
  1740. Output       output buffer
  1741. Component    color-channel to replace
  1742. @endnode
  1743. @node opSaveImage
  1744. @{b}SaveImage-Operator@{ub}
  1745. This operator saves images to harddisk.
  1746. @{b}Parameters@{ub}
  1747. Input        image to save
  1748. File         filename
  1749. Numbering    C-formatstring, if this string is non-empty the current
  1750.              frame-number is appended to filename
  1751. @endnode
  1752. @node opSaveTemp
  1753. @{b}SaveTemp-Operator@{ub}
  1754. This operator copies the content of the input-stream to a TEMP-buffer.
  1755. @{b}Parameters@{ub}
  1756. Buffer       Buffer to copy to
  1757. @endnode
  1758. @node opBlackHole
  1759. @{b}BlackHole-Operator@{ub}
  1760. This operator contracts the whole image.
  1761. @{b}Parameters@{ub}
  1762. Input                input buffer
  1763. Ouput                output buffer
  1764. CentreX, CentreY     centre of the effect
  1765. Amount               amount, large values may cause the whole image
  1766.                      to disappear
  1767. Radius               parameter specifying the local deformation
  1768. Zoom                 zoom-factor for the whole image
  1769. @endnode
  1770. @node opCartesian2Polar
  1771. @{b}Cartesian2Polar-Operator@{ub}
  1772. This operator transforms the cartesian image-coordinates into
  1773. polar coordinates.
  1774. @{b}Parameters@{ub}
  1775. Input       input buffer
  1776. Output      output buffer
  1777. R0          starting radius
  1778. Phi0        starting angle
  1779. Zoom        zoom factor for the whole image
  1780. @endnode
  1781. @node opDisplace
  1782. @{b}Displace-Operator@{ub}
  1783. This operator swaps points of an image randomly.
  1784. @{b}Parameters@{ub}
  1785. Input         input buffer
  1786. Ouput         output buffer
  1787. Radius        largest distance between two points to swap
  1788. Probability   probability of swapping in percent, a value of 100
  1789.               causes all points to be affected
  1790. Seed          start-value for the random number generator
  1791. @endnode
  1792. @node opFlip
  1793. @{b}Flip-Operator@{ub}
  1794. This operator mirrors an image along a specified axis.
  1795. @{b}Parameters@{ub}
  1796. Input         input buffer
  1797. Ouput         output buffer
  1798. Axis          mirror-axis
  1799. @endnode
  1800. @node opHalve
  1801. @{b}Halve-Operator@{ub}
  1802. This operator halves the dimensions of an image.
  1803. @{b}Parameters@{ub}
  1804. Input         input buffer
  1805. Ouput         output buffer
  1806. @endnode
  1807. @node opMagnet
  1808. @{b}Magnet-Operator@{ub}
  1809. This operator applies a local contraction or expansion to an image.
  1810. @{b}Parameters@{ub}
  1811. Input              input buffer
  1812. Ouput              output buffer
  1813. CentreX, CentreY   centre of the effect
  1814. Amount             amount of the deformation, positive values cause
  1815.                    a contraction, negative a expansion, this
  1816.                    value should be always in the range -20...20
  1817. Damping            parameter which controls the fall-off of the deformation
  1818. Zoom               zoom-factor for the whole image
  1819. @endnode
  1820. @node opMotionBlur
  1821. @{b}MotionBlur-Operator@{ub}
  1822. This operator applies a touch of motion to an image.
  1823. @{b}Parameters@{ub}
  1824. Input            input buffer
  1825. Ouput            output buffer
  1826. DeltaX, DeltaY   direction and amount of the effect
  1827. @endnode
  1828. @node opPixelize
  1829. @{b}Pixelize-Operator@{ub}
  1830. This operator reduces the resolution of an image creating
  1831. rectangles.
  1832. @{b}Parameters@{ub}
  1833. Input             input buffer
  1834. Ouput             output buffer
  1835. Width, Height     size of the rectangles to create
  1836. Centre            centre the rectangles, this options should be
  1837.                   switched off if the size of the rectangle varies
  1838.                   with time
  1839. Grid              type of the optional grid to create
  1840. Size              thickness of the grid to create
  1841. Red, Green, Blue  base color of the grid
  1842. DLeft, DRight ,   color variation of the grid to produce
  1843. DTop, DBottom     a threedimensional look
  1844. @endnode
  1845. @node opRoll
  1846. @{b}Roll-Operator@{ub}
  1847. This operator scrolls an image into a specified direction.
  1848. @{b}Parameters@{ub}
  1849. Input            input buffer
  1850. Ouput            output buffer
  1851. DeltaX, DeltaY   scroll direction and amount
  1852. Wrap             toggle wrapping on/off
  1853. @endnode
  1854. @node opRotate
  1855. @{b}Rotate-Operator@{ub}
  1856. This operator rotates a circular region of an image.
  1857. @{b}Parameters@{ub}
  1858. Input              input buffer
  1859. Ouput              output buffer
  1860. CentreX, CentreY   centre of the circle
  1861. Radius             radius of the circle
  1862. Amount             rotate-angle
  1863. Zoom               zoom-factor for the rotated region
  1864. @endnode
  1865. @node opRotateBlur
  1866. @{b}RotateBlur-Operator@{ub}
  1867. This operator adds a touch of motion to an image.
  1868. @{b}Parameters@{ub}
  1869. Input              input buffer
  1870. Ouput              output buffer
  1871. CentreX, CentreY   centre of the blurred circle
  1872. Radius             radius of the circle
  1873. Amount             blur-amount, large-values like 60 cause a very long
  1874.                    computation time
  1875. @endnode
  1876. @node opScale
  1877. @{b}Scale-Operator@{ub}
  1878. This operator scales up or down images.
  1879. @{b}Parameters@{ub}
  1880. Input              input buffer
  1881. Ouput              output buffer
  1882. Width, Height      new size-values
  1883. Type               choose if the size-values are in pixels or percent
  1884. Aspect             choose the type of scaling:
  1885.                     ignore    : scale the image to the specified values
  1886.                     takewidth : scale the image to the specified width-value
  1887.                                 and a computed height-value keeping the aspect
  1888.                     takeheight: scale the image to specified height-value
  1889. @endnode                        and computed width-value keeping the aspect
  1890. @node opShear
  1891. @{b}Shear-Operator@{ub}
  1892. This operator shears an image with additional damping.
  1893. @{b}Parameters@{ub}
  1894. Input               input buffer
  1895. Ouput               output buffer
  1896. OriginX, OriginY    shear-centre where no damping occurs
  1897. Amount              shear-amount
  1898. Zoom                zoom-value for the whole image
  1899. Axis                shear-direction
  1900. Damping             toggle damping on/off
  1901. Damping             damping-value
  1902. @endnode
  1903. @node opShiftLines
  1904. @{b}ShiftLines-Operator@{ub}
  1905. This operator shifts the lines of an image with optional
  1906. jitter-effect.
  1907. @{b}Parameters@{ub}
  1908. Input         input buffer
  1909. Ouput         output buffer
  1910. Direction     shift-direction
  1911. Jitter        toggle jitter on/off
  1912. Shift         shift-value
  1913. Amount        jitter-amount
  1914. Probability   probability for the jitter-effect
  1915. Seed          start -value for the random number generator
  1916. @endnode
  1917. @node opTwirl
  1918. @{b}Twirl-Operator@{ub}
  1919. This operator applies a nonlinear deformation to an image.
  1920. @{b}Parameters@{ub}
  1921. Input              input buffer
  1922. Ouput              output buffer
  1923. FallOff            radial direction of the fall-off of the deformation
  1924. CentreX, CentreY   centre of the effect
  1925. Radius             radius of the affected circular region of the image
  1926. Amount             twirl amount, very large value like 1000 are allowed
  1927. Power              parameter describing the local deformation, large
  1928.                    values like 6 concentrate the deformation around
  1929.                    the centre of the circle
  1930. Zoom               zoom-factor for the affected circular region
  1931. @endnode
  1932. @node opWave
  1933. @{b}Wave-Operator@{ub}
  1934. This operator applies a harmonic wave to an image.
  1935. @{b}Parameters@{ub}
  1936. Input             input buffer
  1937. Ouput             output buffer
  1938. CentreX, CentreY  centre of the wave, the point with no damping
  1939. Amplitude         amplitude of the wave
  1940. Phase             phase of the wave in degrees
  1941. Wavelength        wavelength
  1942. Shift             diagonal-shift-parameter
  1943. Zoom              zoom-value for the whole image
  1944. Damping           toggle damping on/off
  1945. Damping           damping-value
  1946. Axis              wave-direction
  1947. Frame             current frame
  1948. Frames            frame-number describing a whole cycle
  1949. @endnode
  1950. @node opAlpha
  1951. @{b}Alpha-Operator@{ub}
  1952. This operator modifies the brightness of an image using 
  1953. an alpha-channel.
  1954. @{b}Parameters@{ub}
  1955. Input         input buffer
  1956. Ouput         output buffer
  1957. Alpha         alpha buffer
  1958. Left          left edge of the alpha image
  1959. Top           top edge of the alpha image
  1960. @endnode
  1961. @node opAntique
  1962. @{b}Antique-Operator@{ub}
  1963. This operator turns the colors of an image to look "anitique".
  1964. @{b}Parameters@{ub}
  1965. Input         input buffer
  1966. Ouput         output buffer
  1967. @endnode
  1968. @node opBalancing
  1969. @{b}Balancing-Operator@{ub}
  1970. This operator performs some balancing operations.
  1971. @{b}Parameters@{ub}
  1972. Input         input buffer
  1973. Ouput         output buffer
  1974. Red           shift-value for the red component
  1975. Green         shift-value for the green component
  1976. Blue          shift-value for the green component
  1977. Contrast      contrast-value, negative values decrease the contrast
  1978. Bright        shift value for all color-channels
  1979. Gamma         gamma-value
  1980. All values have to be in the range -255...255.
  1981. @endnode
  1982. @node opColorToGray
  1983. @{b}ColorToGray-Operator@{ub}
  1984. This operator converts an image into grayscale.
  1985. @{b}Parameters@{ub}
  1986. Input              input buffer
  1987. Ouput              output buffer
  1988. Weights            weight of the red, green and blue component:
  1989.                     luminance : use luminance weights
  1990.                     average   : use for all components the same weight
  1991.                     custom    : use custom weights
  1992. Red, Green, Blue   custom weights, to avoid the use of float numbers
  1993.                    all values are integers which are formed multiplying
  1994.                    the real weight by a factor of 10000,
  1995.                    e.g. the average weights are 3333, 3334 and 3333.
  1996. @endnode
  1997. @node opConvolve
  1998. @{b}Convolve-Operator@{ub}
  1999. This operator applies a 3x3- or 5x5 convolution-matrix to an image.
  2000. @{b}Parameters@{ub}
  2001. Input         input buffer
  2002. Ouput         output buffer
  2003. Mix           intensity of the generated effect
  2004. Shift         shift-value which is applied to the result for each pixel,
  2005.               this makes it for example possible to turn negative
  2006.               results into the valid range 0...255 without loosing details
  2007. Size          toggle the size of the matrix
  2008. File          filename for loading/saving a matrix
  2009. Load          load a matrix in Wildfire's or ADPro's format
  2010. Save          save the current matrix to disk
  2011. @endnode
  2012. @node opEmboss
  2013. @{b}Emboss-Operator@{ub}
  2014. This operator converts an image in a gray relief
  2015. @{b}Parameters@{ub}
  2016. Input         input buffer
  2017. Ouput         output buffer
  2018. Direction     direction of the "lightsource", different directions
  2019.               may cause results looking extremely different
  2020. @endnode
  2021. @node opLUT
  2022. @{b}LUT-Operator@{ub}
  2023. This operator applies a LookUpTable to an image.
  2024. Unlike to all other image-processors LUT's are represented
  2025. by Envelopes and can be morphed !
  2026. There are 6 Envelopes: a Start- and an End-Envelope for every
  2027. component. After specifying the number of frames the Start-Envelope
  2028. is morphed into the End-Envelope. Different point-counts
  2029. are possible.
  2030. @{b}Parameters@{ub}
  2031. Input         input buffer
  2032. Ouput         output buffer
  2033. Mode          toggle Edit/View-mode
  2034. Type          type of the spline of the current channel
  2035. Component     current component
  2036. RGB           apply the current Envelope to all components
  2037. Preset        choose a preset
  2038. Apply         apply the selected preset to the current component
  2039. Position      modify the Start- or the End-Envelope
  2040. Both          apply the Envelope of the current component as
  2041.               End- and as Start-Envelope
  2042. Frames        number of frames used for morphing
  2043. Frame         current frame displayed in view-mode
  2044. MirrorX       mirror the current Envelope along the x-axis
  2045. MirrorY       mirror the current Envelope along the y-axis
  2046. MirrorXY      flip the current Envelope along the diagonal
  2047. MoveX         shift the current Envelope by the specified amount in x-direction
  2048. MoveY         shift the current Envelope by the specified amount in y-direction
  2049. Amount        shift-value
  2050. File          file used for loading/saving envelopes
  2051. Load          load an Envelope
  2052. Save          save the current Envelope to disk
  2053. There are two modes: the View- and the Edit-mode. In Edit-mode
  2054. all changes are applied, in view mode the morphing of the
  2055. splines is visualized. In this mode you can change the current-frame-
  2056. number both using the scrollbar and the "Frame"-gadget.
  2057. If you want to create your Envelopes using the @{"Envelope-Window" link EnvelopeWindow}
  2058. the only restriction is that all values must be in the range 0..255.
  2059. The first point must have the x-coordinate 0, the last one the
  2060. coordinate 255.
  2061. @endnode
  2062. @node opMedianFilter
  2063. @{b}MedianFilter-Operator@{ub}
  2064. This operator applies a median-filter to the image.
  2065. (In the most cases there will be no visible change.)
  2066. @{b}Parameters@{ub}
  2067. Input         input buffer
  2068. Ouput         output buffer
  2069. Rect          size of the rectangle scanned for every pixel
  2070. @endnode
  2071. @node opNegative
  2072. @{b}Negative-Operator@{ub}
  2073. This operator turns the colors of an image into negative ones.
  2074. @{b}Parameters@{ub}
  2075. Input         input buffer
  2076. Ouput         output buffer
  2077. @endnode
  2078. @node opNoise
  2079. @{b}Noise-Operator@{ub}
  2080. This operator applies random noise to an image.
  2081. @{b}Parameters@{ub}
  2082. Input         input buffer
  2083. Ouput         output buffer
  2084. Intensity     intensity of the noise in color-units
  2085. Probability   noise-probability
  2086. Seed          start-value for the random number generator
  2087. @endnode
  2088. @node opOilTransfer
  2089. @{b}OilTransfer-Operator@{ub}
  2090. This operator applies the OilTransfer-algorithm to an image.
  2091. @{b}Parameters@{ub}
  2092. Input         input buffer
  2093. Ouput         output buffer
  2094. Rect          size of the rectangle scanned for every pixel
  2095. @endnode
  2096. @node opPosterise
  2097. @{b}Posterise-Operator@{ub}
  2098. This operator reduces the number of bits per byte for every pixel
  2099. of the image.
  2100. @{b}Parameters@{ub}
  2101. Input         input buffer
  2102. Ouput         output buffer
  2103. Bits          number of bits (1..7) per byte, a value 8 which is
  2104.               the normal case would cause no change
  2105. @endnode
  2106. @node opSwapRGB
  2107. @{b}SwapRGB-Operator@{ub}
  2108. This operator swaps the color-channels of an image
  2109. @{b}Parameters@{ub}
  2110. Input         input buffer
  2111. Ouput         output buffer
  2112. Mode          swap-mode, all possible permutations of RGB
  2113. @endnode
  2114. @node opThreshold
  2115. @{b}Threshold-Operator@{ub}
  2116. This operator converts an image into black&white using a grayscale-level,
  2117. this may be especially useful for the creation of alpha-channels.
  2118. @{b}Parameters@{ub}
  2119. Input         input buffer
  2120. Ouput         output buffer
  2121. Level         grayscale-level, all pixels with a higher brightness
  2122.               ar turned into white ones, all other in black ones
  2123. @endnode
  2124. @node opBump
  2125. @{b}Bump-Operator@{ub}
  2126. This operator uses a 2nd image to add height-information which
  2127. is visualized using a single lightsoure to an image.
  2128. @{b}Parameters@{ub}
  2129. Input                   input buffer
  2130. Ouput                   output buffer
  2131. HeightMap               image used to create the height-information
  2132. Amount                  height-value corresponding to a brightness of 255
  2133. LightX, LightY, LightZ  coordinates of the lightsource
  2134. Intensity               light-intensity
  2135. Left                    left edge of the height-map
  2136. Top                     top edge of the height-map
  2137. @endnode
  2138. @node opCube
  2139. @{b}Cube-Operator@{ub}
  2140. This operator wraps an image onto a cube.
  2141. @{b}Parameters@{ub}
  2142. Input                   input buffer           (image-buffer or 3D-buffer)
  2143. Ouput                   output buffer          (image-buffer or 3D-buffer)
  2144. Zoom                    zoom factor for the whole image        (-10...10)
  2145. CentreX, CentreY        centre for zooming and rotating        (in pixels)
  2146. CamX, CamY, CamZ        camera-position                        (in pixels)
  2147. Rotate                  axis-pair to rotate around/disable rotating
  2148. Alpha                   first rotation angle                   (in degrees)
  2149. Beta                    second rotation angle                  (in degrees)
  2150. Light                   toggle light on/off
  2151. LightX, LightY, LightZ  light-position                         (in pixels)
  2152. Intensity               light-intensity                        (0.0...1.0)
  2153. Ambient                 intensity of the ambient light         (0.0...1.0)
  2154. Hardness                add gloss to the surface               (0.8...1.0)
  2155. Size                    size of the cube
  2156. The image is sliced into 6 parts (2 rows, 3 columns) which are mapped
  2157. onto the six surfaces of the cube.
  2158. To create a cube with 6 different images simply compose them together
  2159. and use the result as input for the Cube-operator.
  2160. To speed up the generation of previews modify the "3DQuant"-parameter
  2161. in the @{"Processor-Window" link ProcessorWindow}.
  2162. @endnode
  2163. @node opLWOB
  2164. @{b}LWOB-Operator@{ub}
  2165. This operator reads in a Lightwave-object and renders it using
  2166. flat shading. The main purpose of this PlugIn is to produce
  2167. preview images for object-catalogues.
  2168. Therefore the filename can be plotted directly to the generated
  2169. image and whole drawers can be processed easily.
  2170. @{b}Parameters@{ub}
  2171. Ouput                   output buffer
  2172. Zoom                    zoom factor for the whole image        (-10...10))
  2173. CentreX, CentreY        centre for zooming and rotating        (in pixels)
  2174. CamX, CamY, CamZ        camera-position                        (in pixels)
  2175. Rotate                  axis-pair to rotate around/disable rotating
  2176. Alpha                   first rotation angle                   (in degrees)
  2177. Beta                    second rotation angle                  (in degrees)
  2178. Light                   toggle light on/off
  2179. LightX, LightY, LightZ  light-position                         (in pixels)
  2180. Intensity               light-intensity                        (0.0...1.0)
  2181. Ambient                 intensity of the ambient light         (0.0...1.0)
  2182. Hardness                add gloss to the surface               (0.8...1.0)
  2183. Faces                   draw the faces single- or double-sided
  2184. Text                    toggle the kind of text to be plotted to the image:
  2185.                           off  : no text will be generated
  2186.                           small: plot the filename without the path
  2187.                           full : plot the full filename with path
  2188. Select Font             select the font for the generated string
  2189. File                    object-file or drawer to be scanned
  2190. Width, Height           dimensions of the image to create
  2191. BGRed, BGGreen, BGBlue  background color
  2192. TRed, TGreen, TBlue     text color
  2193. If the specified input-file cannot be found the path is scanned
  2194. as drawer to create an alphabetically sorted filelist.
  2195. Later the n-th item of this list is processed at frame n.
  2196. See the @{" Tutorial " link Tutorials} for an example.
  2197. @endnode
  2198. @node opPerspective
  2199. @{b}Perspective-Operator@{ub}
  2200. This operator adds perspective to an image.
  2201. @{b}Parameters@{ub}
  2202. Input                   input buffer
  2203. Ouput                   output buffer
  2204. Zoom                    zoom-factor for the whole image
  2205. CentreX, CentreY        centre for rotating and zooming
  2206. CamX, CamY, CamZ        camera-position
  2207. Rotate                  axis-pair to rotate around/disable rotating
  2208. Alpha                   first rotation angle
  2209. Beta                    second rotation angle
  2210. Light                   toggle lightsource on/off
  2211. LightX, LightY, LightZ  light-position
  2212. Dimish                  dimishing-radius, at this distance from the
  2213.                         light-position the intensity has fallen off to the
  2214.                         the half
  2215. @endnode
  2216. @node opWater
  2217. @{b}Water-Operator@{ub}
  2218. This operator applies a threedimensional anharmonic water-wave
  2219. to an image.
  2220. @{b}Parameters@{ub}
  2221. Input                   input buffer           (image-buffer or 3D-buffer)
  2222. Ouput                   output buffer          (image-buffer or 3D-buffer)
  2223. Zoom                    zoom factor for the whole image        (-10...10))
  2224. CentreX, CentreY        centre for zooming and rotating        (in pixels)
  2225. CamX, CamY, CamZ        camera-position                        (in pixels)
  2226. Rotate                  axis-pair to rotate around/disable rotating
  2227. Alpha                   first rotation angle                   (in degrees)
  2228. Beta                    second rotation angle                  (in degrees)
  2229. Light                   toggle light on/off
  2230. LightX, LightY, LightZ  light-position                         (in pixels)
  2231. Intensity               light-intensity                        (0.0...1.0)
  2232. Ambient                 intensity of the ambient light         (0.0...1.0)
  2233. Hardness                add gloss to the surface               (0.8...1.0)
  2234. Faces                   draw the faces single- or double-sided
  2235. Frame                   current frame
  2236. Frames                  frame count describing a full cycle
  2237. Times                   number of rings, values in the range 1..3 are
  2238.                         are always a good choice
  2239. Rings                   number of times the growing of rings is performed,
  2240.                         after one cycle the 1st ring has the
  2241.                         distance times*wavelength from the centre,
  2242.                         values 2..10 give good results
  2243. Axis                    direction of propagation:
  2244.                          "X" : parallel to the x-axis
  2245.                          "Y" : parallel to the y-axis
  2246.                          "XY": radial propagation
  2247. Amplitude               wave-amplitude, this value should be always in
  2248.                         the range 1..4
  2249. Wavelength              wavelength
  2250. OriginX, OriginY        location of the wave-source
  2251. Damping                 toggle damping on/off
  2252. Damping                 damping-value
  2253. moveXY                  specify if the deformation is applied to all
  2254.                         components (x,y,z) or not. If this option is set
  2255.                         there may occur some singularities ("bad points"),
  2256.                         but this mode is very close to the reality.
  2257. To speed up the generation of previews modify the "3DQuant"-parameter
  2258. in the @{"Processor-Window" link ProcessorWindow}.
  2259. @endnode
  2260. @node opWave3D
  2261. @{b}Wave3D-Operator@{ub}
  2262. This operator applies a harmonic wave in the threedimensional
  2263. space to an image.
  2264. @{b}Parameters@{ub}
  2265. Input                   input buffer           (image-buffer or 3D-buffer)
  2266. Ouput                   output buffer          (image-buffer or 3D-buffer)
  2267. Zoom                    zoom factor for the whole image        (-10...10))
  2268. CentreX, CentreY        centre for zooming and rotating        (in pixels)
  2269. CamX, CamY, CamZ        camera-position                        (in pixels)
  2270. Rotate                  axis-pair to rotate around/disable rotating
  2271. Alpha                   first rotation angle                   (in degrees)
  2272. Beta                    second rotation angle                  (in degrees)
  2273. Light                   toggle light on/off
  2274. LightX, LightY, LightZ  light-position                         (in pixels)
  2275. Intensity               light-intensity                        (0.0...1.0)
  2276. Ambient                 intensity of the ambient light         (0.0...1.0)
  2277. Hardness                add gloss to the surface               (0.8...1.0)
  2278. Faces                   draw the faces single- or double-sided
  2279. Frame                   current frame
  2280. Frames                  number of frame describing a full cycle
  2281. Amplitude               wave-amplitude
  2282. Wavelength              wavelength
  2283. Phase                   phase in degrees
  2284. Axis                    direction of propagation:
  2285.                          "X"      : parallel to the x-axis
  2286.                          "Y"      : parallel to the y-axis
  2287.                          "XY"     : radial propagation in the xy-plane
  2288.                          "Radial" : radial propagation in the xyz-space
  2289. OriginX, OriginY        position of the wave-source
  2290. Damping                 toggle damping on/off
  2291. Damping                 damping-value
  2292. To speed up the generation of previews modify the "3DQuant"-parameter
  2293. in the @{"Processor-Window" link ProcessorWindow}.
  2294. @endnode
  2295. @node opWrap
  2296. @{b}Wrap-Operator@{ub}
  2297. This operator wraps an image onto a sphere or a tube. An unique
  2298. feature is the deformation of "unwrapped" portions of the image
  2299. in "RADIUS"-mode.
  2300. @{b}Parameters@{ub}
  2301. Input                   input buffer           (image-buffer or 3D-buffer)
  2302. Ouput                   output buffer          (image-buffer or 3D-buffer)
  2303. Zoom                    zoom factor for the whole image
  2304. Zoom                    zoom factor for the whole image        (-10...10))
  2305. CentreX, CentreY        centre for zooming and rotating        (in pixels)
  2306. CamX, CamY, CamZ        camera-position                        (in pixels)
  2307. Rotate                  axis-pair to rotate around/disable rotating
  2308. Alpha                   first rotation angle                   (in degrees)
  2309. Beta                    second rotation angle                  (in degrees)
  2310. Light                   toggle light on/off
  2311. LightX, LightY, LightZ  light-position                         (in pixels)
  2312. Intensity               light-intensity                        (0.0...1.0)
  2313. Ambient                 intensity of the ambient light         (0.0...1.0)
  2314. Hardness                add gloss to the surface               (0.8...1.0)
  2315. Faces                   draw the faces single- or double-sided
  2316. Axis                    wrap axis:
  2317.                          "X" : wrap the image onto a tube along the x-axis
  2318.                          "Y" : wrap the image onto a tube along the y-axis
  2319.                          "XY": wrap the image onto a sphere
  2320. OriginX,OriginY         origin of the sphere/tube
  2321. Amount                  wrap-amount
  2322. Radius                  sphere/tube-radius
  2323. Method                  method used for wrapping:
  2324.                          "RADIUS": create a sphere/tube of the radius
  2325.                                    specified, wrap the image onto it and
  2326.                                    deform the unwrapped portions according
  2327.                                    to the shape
  2328.                          "AMOUNT": create a sphere/tube to fit the whole
  2329.                                    wrapped image, the specified amount-value
  2330.                                    specifies the amount of wrapping in percent
  2331. To speed up the generation of preview modify the "3DQuant"-parameter
  2332. in the @{"Processor-Window" link ProcessorWindow}.
  2333. @endnode
  2334. @node opARexx
  2335. @{b}ARexx-Operator@{ub}
  2336. This operator makes it possible to exchange images with other applications.
  2337. The basic concept is to produce an ARexx-script which causes the application
  2338. to load, process and save a temperary image created by Wildfire.
  2339. @{b}Parameters@{ub}
  2340. Input         input buffer
  2341. Ouput         output buffer
  2342. Port          ARexx-port of the application
  2343. Temp-File     path for the temperorary image to be created
  2344. Add           add a line to the ARexx-script
  2345. Kill          kill the selected line
  2346. Up            move the selected line up
  2347. Down          move the selected line down
  2348. Clear         clear the whole script
  2349. Add Variable  add a variable-entry to the selected line
  2350. Import        load a previously saved script
  2351. Export        save the current script to disk
  2352. A "normal" script should contain the three parts:
  2353.  -loading of the temporary image created by Wildfire
  2354.  -processing of this image
  2355.  -saving of the result
  2356. The 3rd part is the only important.
  2357. Every line of the script has to be entered in the format of
  2358. a C-printf-command. This allows one to use Envelopes in
  2359. such an ARexx-script.
  2360. The basic syntax is as follows:  "<formatstring>",arguments
  2361. (The enclosing '"'-characters are important.)
  2362. Three formats are supported:
  2363.  "%s" - for strings
  2364.  "%d" - for integer parameters
  2365.  "%f" - for float parameters
  2366. The number of format-specifiers must be always equal to the number
  2367. of arguments. Any special formats-strings like "%.4lf" are
  2368. not supported.
  2369. Examples:
  2370.  line to be entered:                 line generated by Wildfire:
  2371.   "integer: %d",10.3                  integer: 10
  2372.   "float: %f",10.3                    float: 10.3
  2373.   "i: %d, f: %f, s: '%s'",4,3,str     i: 4, f: 3.0, s: 'str'
  2374. To use an Envelope simply enter it's name as argument, rounding
  2375. is performed if you specify "%d" as corresponding formatstring.
  2376. The filename of the temporary image can be omitted using
  2377. the predefined argument "tempfile".
  2378. Now let's create a working example. Assume you want to have
  2379. ADPro to halve your images and to apply an Antique-effect
  2380. to the result.
  2381. At first you have to set the path of your application (which
  2382. will be started automatically if it's port cannot be located)
  2383. from within the @{" Preferences-Window " link PreferencesWindow}.
  2384. After that you have to specify the portname, in this case "ADPro".
  2385. At first entry in the script you should specify ADPro's default Loader:
  2386.  "lformat "universal""
  2387. Now the image can be loaded
  2388.  "load '%s'",tempfile
  2389. Apply the effects:
  2390.  "operator halve"
  2391.  "operator antique"
  2392. Specify the the Saver to use:
  2393. "sformat "iff""
  2394. Save the image:
  2395.  "save '%s' raw",tempfile
  2396. That's all. Now you should save this script
  2397.  "lformat "universal""
  2398.  "load '%s'",tempfile
  2399.  "operator halve"
  2400.  "operator antique"
  2401.  "sformat "iff""
  2402.  "save '%s' raw",tempfile
  2403. as "reference-script". For further purposes only the "operator"-lines
  2404. have to be replaced.
  2405. @endnode
  2406. @node opComment
  2407. @{b}Comment-Operator@{ub}
  2408. This operator simply allows you to add comments to the Processor-script.
  2409. @{b}Parameters@{ub}
  2410. String     the comment
  2411. @endnode
  2412. @node opExample
  2413. @{b}Example-Operator@{ub}
  2414. This operator acts as an example for the developer-kit.
  2415. It turns all pixels which have a brightness larger than a specified
  2416. value into grayscale.
  2417. @{b}Parameters@{ub}
  2418. Input         input buffer
  2419. Ouput         output buffer
  2420. Switch1       not used
  2421. Switch2       not used
  2422. IntVal1       not used
  2423. IntVal2       grayscale-level
  2424. FloatVal1     not used
  2425. FloatVal2     not used
  2426. @endnode
  2427. @node opRaster
  2428. @{b}Raster-Operator@{ub}
  2429. This operator applies a black raster to an image. The main
  2430. purpose of this PlugIn is to reduce the size of delta-compressed
  2431. animations without loosing too much details.
  2432. @{b}Parameters@{ub}
  2433. Input         input buffer
  2434. Ouput         output buffer
  2435. @endnode
  2436. @node opText
  2437. @{b}Text-Operator@{ub}
  2438. This operator renders text in various styles. Unlike to other programs
  2439. whole text-files can be used and edited.
  2440. @{b}Parameters@{ub}
  2441. Ouput                       output buffer
  2442. Style                       render-style:
  2443.                              "NORMAL ": use the font without applying
  2444.                                         any changes, this method should be
  2445.                                         selected using color-fonts
  2446.                              "OUTLINE": draw outlines of the selected font
  2447.                              "EMBOSS ": produce a threedimensional look
  2448. Adjust                      text-adjustment, this setting has only an effect when
  2449.                             plotting more than one line of text
  2450. Red, Green, Blue            text-color
  2451. BGRed, BGGreen, BGBlue      background-color
  2452. Strength                    thickness of the outline drawed around the
  2453.                             text in "OUTLINE"- and "EMBOSS"-mode
  2454. Intensity                   light-intensity
  2455. LightX, LightY, LightZ      light-position
  2456. HSkip                       additional space between two lines
  2457. Select Font                 select the font to use for all lines
  2458. Add                         add a line of text
  2459. Kill                        delete the selected line
  2460. Up                          move the selected line up
  2461. Down                        move the selected line down
  2462. Clear                       clear all lines of text
  2463. Import                      import text from a file
  2464. Export                      save the current text to disk
  2465. @endnode
  2466. @NODE beispiele "5. Examples"
  2467. @{b}5. Examples
  2468. -----------------------------------------------------------------@{ub}
  2469.  (i) An animation will be displayed in negative colors and a smaller
  2470.      version of the anim will be placed in the right colors over
  2471.      the `negative` animation
  2472.      Scheme:
  2473.       *STREAM to negativ and save to TEMP1
  2474.       *STREAM to halve and save to STREAM
  2475.       *Compose TEMP1 as background and STREAM as foreground
  2476.        and save to STREAM
  2477.      ARexx-Program:
  2478.       pc_add negative stream temp1
  2479.       pc_add scale stream stream width/2 height/2
  2480.       pc_add compose width/3 height/3 100 temp1 stream stream none
  2481.      NOTE:
  2482.     *The ARexx-notation is very useful. So you can take the examples
  2483.      as macros and you`ll learn how to use the ARexx port of Wildfire,
  2484.      too.
  2485.     *Of course you should try out the examples inside the program,
  2486.      first. Just start @{" WILDFIRE " link WildFire.guide/MAIN}, klick on the PROCESSOR-GADGET,
  2487.      and push the ADD BUTTON. Doubleclick on NEGATIVE and doubleclick
  2488.      on the NEGATIVE entry in the script. Now you can select STREAM as INPUT and
  2489.      TEMP1 as output. Do the needed things for the other 2 commands, too.
  2490.     *width and height are the height and the width of the animation or
  2491.      the single-pictures. With the ARexx commands "T_ANIMINFO" or
  2492.      "T_PICINFO" you can get the needed details.
  2493.  (ii) An animation will be placed on a colored background using a white
  2494.       border with shadow.
  2495.       Scheme:
  2496.     *create a colored background with width+80 and height+80 in 
  2497.      "TEMP1"
  2498.     *create a white picture with width+20 and height+20 in "TEMP2"
  2499.      the border-size is 10 pixels (20/2)
  2500.     *create a black picture with width+20 and height+20 in "TEMP3"
  2501.      the border-size is 10 pixels, too
  2502.     *place the black picture on the colored background with offset
  2503.      40x40 pixels
  2504.     *place the white picture on the colored background (now with
  2505.      the black picture on it) with offset 30x30
  2506.     *all these things you have to do ONLY 1 time, the result-picture
  2507.      will be saved to buffer "TEMP1" and will NOT be changed anymore!
  2508.      So we can tell @{" Wildfire " link WildFire.guide/MAIN} that it has to do this
  2509.       effect only for the first frame!
  2510.     *every picture from the animation will be placed with
  2511.      offset 40x40 on the created colored picture with black and white
  2512.      border.
  2513.       ARexx-Programm:
  2514.        /* create background and save to TEMP1  */
  2515.        pc_add createimage temp1 width+80 height+80 255 0 0  255 255 0  0 255 0  0 0 255
  2516.        pc_add createimage temp2 width+20 height+20 255 255 255  255 255 255  255 255 255  255 255 255
  2517.        pc_add createimage temp3 width+20 height+20 0 0 0  0 0 0  0 0 0  0 0 0
  2518.        pc_add compose 40 40 100 temp1 temp3 temp1 none
  2519.        pc_add compose 30 30 100 temp1 temp2 temp1 none
  2520.        /* only do this operations at frame 1 */
  2521.        pc_select createimage 1
  2522.        pc_to 1
  2523.        pc_select createimage 2
  2524.        pc_to 1
  2525.        pc_select createimage 3
  2526.        pc_to 1
  2527.        pc_select compose 1
  2528.        pc_to 1
  2529.        pc_select compose 2
  2530.        pc_to 1
  2531.        /* compose STREAM with TEMP1 for every animation-picture */
  2532.        pc_add compose 40 40 100 temp1 stream stream none
  2533. @ENDNODE
  2534. @remark /*************************************************************/
  2535. @remark /*
  2536. @remark                            Developer
  2537. @remark */
  2538. @remark /*************************************************************/
  2539. @node Developer
  2540. If you are interested in developing addional PlugIns (savers,
  2541. operators or general PlugIns) for Wildfire please contact
  2542. the author at "epgbc@cluster1.urz.Uni-Halle.DE".
  2543. If there are at leat 10 requests I will start to create
  2544. a developer-kit including working examples.
  2545. @endnode
  2546. @remark /*************************************************************/
  2547. @remark /*
  2548. @remark                            ARexx
  2549. @remark */
  2550. @remark /*************************************************************/
  2551. @node ARexx
  2552. @{b}The ARexx-port@{ub}
  2553. The ARexx-port is another powerful feature of WildFire which
  2554. allows you
  2555.   -to use all features from within other programs
  2556.   -to enhance the GUI with your own windows without
  2557.   -to write own ARexx-applications which operate like the program itself
  2558. Example: You have designed a nice special effect like a transition
  2559.          between three animations or whatever. Now you want to integrate
  2560.          this nice feature into Wildfire as a "natural feature".
  2561.          This is easy ! All you have to do is to design a so-called
  2562.          "Custom-window" with buttons, string-gadgets, switches, ...
  2563.          and to write the procedure itself.
  2564. @{b}Topics:@{ub}
  2565.  @{" Usage          " LINK ARexxUsage}
  2566.  @{" Error-Messages " LINK ARexxErrors}
  2567.  @{" Custom-windows " LINK ARexxCWindows}
  2568.  @{" Commands       " LINK ARexxCommands}
  2569. @endnode
  2570. @node ARexxUsage
  2571. The name of the ARexx-port is equal to the name of the publicscreen
  2572. opened by Wildfire.
  2573. For the first running copy of the programm the port is named "Wildfire",
  2574. for the second "Wildfire.1" and so on.
  2575. I don't think that's very usefull to run more copies at one time -
  2576. but it's possible.
  2577. The command-hierarchy is equal to the window-hierarchy.
  2578. This makes it very easy for you to find out the right name
  2579. for a particular command.
  2580. Every command consists of the hierarchy-identifier and
  2581. the function-name, e.g. the "Play"-button of the Player-window
  2582. is named "P_PLAY".
  2583. Most of the arguments are strings or integer-values. It's recommended
  2584. to enclose strings into "'"-characters otherwise they are converted
  2585. to uppercase by the ARexx-system.
  2586. There are three ways to invoke ARexx-commands:
  2587.  1. scripts
  2588.   1a) called as macros from Wildfire after pressing one of the function-keys
  2589.   1b) started from a shell
  2590.  2. direct commands
  2591.  3. external programs
  2592. Direct commands are nice to try out a special command, e.g., if you
  2593. want to check out the "PL_APPENDDIR"-command you may type in a shell-
  2594. window:
  2595.  rx "address 'Wildfire'
  2596. pl_appenddir 'data:grafix/frames'"
  2597. Another way to test single commands is to use the "Command"-PlugIn.
  2598. An input string
  2599.  "pl_appenddir 'data:grafix/frames'"
  2600. would cause the same result as the example shown above.
  2601. The advantage of the use of the Command-PlugIn is the fact that it's
  2602. faster because it doesn't use ARexx and displays the results
  2603. of the in the same window. (ARexx-errors sometimes are cryptic.)
  2604. @endnode
  2605. @node ARexxCWindows
  2606. Custom-windows are another powerful feature of Wildfire.
  2607. You can create as much own windows as you want, they can
  2608. be loaded, saved, opened, closed, deleted, ... at any time.
  2609. So it's possible to create Toolmanager-like docks on the
  2610. Wildfire-screen which can be loaded at startup.
  2611. But the main purpose is to give you the possibility to enhance
  2612. the program easily and to fit it to your needs.
  2613. Window-elements
  2614. -------------------------------------------------------------------
  2615. Custom windows can contain
  2616.   -buttons
  2617.   -string-gadgets
  2618.   -switches
  2619.   -lines
  2620.   -boxes and
  2621.   -texts.
  2622. All these elements remain to the window as long as you
  2623. don't kill them.
  2624. But you have the possibility to apply graphical elements
  2625. which are not stored as structures to the window.
  2626. So you could create an own progress-bar or a function-plotter..
  2627. Attention:
  2628. If you want to have spaces in you window- or gadget-names
  2629. you have to use a special character (code 160).
  2630. (This restriction is due the command-parsing.)
  2631. Example:
  2632. space='a0'x
  2633. wnd="Transition.rexx" || space || "V0.3"
  2634. Window-coordinates
  2635. -------------------------------------------------------------------
  2636. Because Wildfire has a fontsensitve GUI you can't use absolute
  2637. coordinates to specify window-elements.
  2638. So you have to design your windows using a topaz.8-font
  2639. to ensure that they look perfect for example with a times.24-font.
  2640. If you want to design a very difficult window with 500
  2641. gadgets, 300 bevelboxes, ... it's seems to be no bad idea
  2642. to use GadToolsBox
  2643. . Using this nice program you can drag and
  2644. size your gadgets in an easy way - just take down the coordinates
  2645. after finishing it.
  2646. A simple example
  2647. -------------------------------------------------------------------
  2648. The following example called "ConvertPics.rexx" opens a window
  2649. which lets you specify a range of your current picture-list
  2650. and has a "Convert"-button. This makes is possible to
  2651. convert only a small part of the picture-list which is
  2652. very usefull if you want to test a very complex process.
  2653. 1. Program-structure
  2654.     (i) create the window, initialize the parameters
  2655.     (ii) perform an endless loop receiving messages:
  2656.           1. check for pressed gadgets
  2657.               -> start filerequester, read gadget-contents
  2658.           2. check for the closegadget
  2659.               -> exit
  2660.           3. check for the start-button
  2661.               -> check the parameters
  2662.               -> do it
  2663. 2. Program
  2664.     /* Are we right ? */
  2665.     if ~show('P','Wildfire') then do
  2666.      say " Error: The Wildfire-program must be started before executing this script."
  2667.      exit
  2668.     end
  2669.     /* Initialize the global variables */
  2670.     address "Wildfire"
  2671.     options results
  2672.     wnd="Convert"
  2673.     from=1
  2674.     to=1
  2675.     /* Create the window */
  2676.     cw_kill wnd
  2677.     cw_add wnd 309 70
  2678.     /* Create the Gadget */
  2679.     cw_addgadget wnd string 202 11 84 "From"
  2680.     cw_addgadget wnd string 202 27 84 "To"
  2681.     cw_addgadget wnd button 25 46 261 "Convert"
  2682.     /* It's important to open the window before setting the gadgets */
  2683.     cw_open wnd
  2684.     cw_setgadget wnd "From" from
  2685.     cw_setgadget wnd "To" to
  2686.     /* main loop */
  2687.     do forever
  2688.      /* check if the window is still open */
  2689.      cw_isopen wnd
  2690.      qt=result
  2691.      /* no: leave the script */
  2692.      if qt=0 then call cleanup
  2693.      /* wait for gadgets */
  2694.      cw_wait wnd
  2695.      gadget=result
  2696.      /* which gadget was pressed */
  2697.      if gadget="From" then do
  2698.       /* get the "from"-value from the gadget */
  2699.       cw_getgadget wnd "From"
  2700.       from=result
  2701.      end
  2702.      else if gadget="To" then do
  2703.       /* get the "to"-value from the gadget */
  2704.       cw_getgadget wnd "To"
  2705.       to=result
  2706.      end
  2707.      else if gadget="Convert" then do
  2708.       /* now let's do it */
  2709.       c_convertpics from to
  2710.      end
  2711.     end
  2712.     cleanup:
  2713.     cw_kill wnd
  2714.     exit
  2715.  GadToolsBox is Copyright 
  2716.  1991-93 Jaba Development
  2717. @endnode
  2718. @node ARexxErrors
  2719. There are 4 error-messages which will be shown together
  2720. with the command in the default CON:-window:
  2721.  1: wrong number of arguments
  2722.  2: wrong arguments
  2723.  3: unknown command
  2724.  4: command failed
  2725. Most of the commands are valid everywhere, but there are exeptions,
  2726. e.g. if you haven't defined any variable you can't open
  2727. the envelope-window. This would cause error 4.
  2728. Normally you can access all program functions without opening
  2729. any of the windows, but there are the following exceptions:
  2730.  -Timecodes-, AnimInfo-, Envelope- and EnvelopeAdvanced-commands
  2731.   require that the corresponding Window was opened
  2732.   (This is due the internal data-structure and no error or
  2733.    similar.)
  2734. If the program executes an ARexx-command all requesters
  2735. except the one invoked by the "M_MESSAGE"-command are
  2736. turned off, but the requester-messages are shown in the
  2737. Log-Window.
  2738. @endnode
  2739. @node ARexxCommands
  2740. The command-list below shows all available commands,
  2741. values enclosed into brackes are alternative keywords.
  2742.  Main:
  2743.   M_EXIT
  2744.   M_WAIT secs
  2745.   M_MESSAGE text
  2746.   M_REQUEST text (res=0: o.k.)
  2747.   M_OPENCONVERTER
  2748.   M_CLOSECONVERTER
  2749.   M_OPENPROCESSOR
  2750.   M_CLOSEPROCESSOR
  2751.   M_OPENEDITOR
  2752.   M_CLOSEEDITOR
  2753.   M_OPENPLAYER
  2754.   M_CLOSEPLAYER
  2755.   M_OPENPREFS
  2756.   M_CLOSEPREFS
  2757.   M_OPENINFO
  2758.   M_CLOSEINFO
  2759.   M_MOVE x y
  2760.   M_TOFRONT
  2761.   M_TOBACK
  2762.   M_OPENTMAKER
  2763.   M_CLOSETMAKER
  2764.   M_OPENIMOPTIONS
  2765.   M_CLOSEIMOPTIONS
  2766.   M_ADDICON file
  2767.   M_CLEANUP
  2768.   M_LOAD
  2769.   M_SAVE
  2770. Tools:
  2771.   T_DELPICTURELIST
  2772.   T_GETNUMBER title [preset]
  2773.   T_GETSTRING title [preset]
  2774.   T_GETFILE title [preset]
  2775.   T_GETDRAWER titlee [preset]
  2776.   T_ANIMINFO name (0=o.k.)
  2777.   T_PICINFO name (0=o.k.)
  2778.   T_GETWIDTH
  2779.   T_GETHEIGHT
  2780.   T_GETDEPTH
  2781.   T_GETCOLORS
  2782.   T_GETFRAMES
  2783.   T_GETANIMDRAWER
  2784.   T_GETPICDRAWER
  2785.   T_GETMODDRAWER
  2786.   T_GETROOTDRAWER
  2787.   T_PEXTENSION extension
  2788.   T_REQSTATUS (ON|OFF)
  2789.  Prefs:
  2790.   PR_PLAYERSCREEN name
  2791.   PR_SCREENMODE id width height depth
  2792.   PR_SCREENDEPTH depth
  2793.   PR_LOADPREFS
  2794.   PR_SAVEPREFS
  2795.   PR_OPENPATHS
  2796.   PR_CLOSEPATHS
  2797.   PR_OPENMACROS
  2798.   PR_CLOSEMACROS
  2799.   PR_DCLICKTIME val
  2800.   PR_STATISTICS (ON|OFF)
  2801.   PR_EXPERTMODE (ON|OFF)
  2802.   PR_BRUTALBLIT (ON|OFF)
  2803.   PR_MOVE x y
  2804.  Paths:
  2805.   PT_ANIMATIONDRAWER name
  2806.   PT_PICTUREDRAWER name
  2807.   PT_SOUNDDRAWER name
  2808.   PT_ROOTDRAWER name
  2809.   PT_YAFAPLAYER name
  2810.   PT_ANIMPLAYER name
  2811.   PT_MPEGPLAYER name
  2812.   PT_VIEWER name
  2813.   PT_MOVE x y
  2814.  Info:
  2815.   I_FREEMEM
  2816.   I_MOVE x y
  2817.  Text:
  2818.   TXT_TEXT file
  2819.   TXT_TEXTNC file
  2820.   TXT_MOVE x y
  2821.   TXT_CLOSE
  2822.   TXT_WAIT
  2823.   TXT_CENTRE
  2824.  Player:
  2825.   P_FILE [name]
  2826.   P_BUFFERS num
  2827.   P_ABUFFER num
  2828.   P_DISPLAY (NORMAL|ZOOMED|DITHERED)
  2829.   P_CACHING (ON|OFF)
  2830.   P_OUTPUT (HARDWARE|WINDOW|BGWINDOW|SCREEN)
  2831.   P_WAIT (ON|OFF)
  2832.   P_PLAY [from to]
  2833.   P_MOVE x y
  2834.   P_OPENANIMINFO
  2835.   P_CLOSEANIMINFO
  2836.   P_OPENTIMECODES
  2837.   P_CLOSETIMECODES
  2838.  AnimInfo:
  2839.   AI_MOVE x y
  2840.   AI_EXPORT name
  2841.   AI_IMPORT num
  2842.  Timecodes:
  2843.   TC_RANGE from to step
  2844.   TC_IMPORT name
  2845.   TC_EXPORT name
  2846.   TC_TIMERANGE num
  2847.   TC_MOVE x y
  2848.  Editor:
  2849.   E_AADD name
  2850.   E_AKILL
  2851.   E_AREPLACE name
  2852.   E_AINFO
  2853.   E_ASELECT name
  2854.   E_ASELECTNEXT
  2855.   E_ASELECTPREV
  2856.   E_AFROM from
  2857.   E_ATO to
  2858.   E_AUP
  2859.   E_ADOWN
  2860.   E_MADD name (MODULE|SAMPLE|EXECUTABLE)
  2861.   E_MKILL
  2862.   E_MREPLACE name
  2863.   E_MEDIT
  2864.   E_MSELECT name
  2865.   E_MSELECTNEXT
  2866.   E_MSELECTPREV
  2867.   E_MUP
  2868.   E_MDOWN
  2869.   E_OPENPROFILE
  2870.   E_CLOSEPROFILE
  2871.   E_OPENFILMCONTROL
  2872.   E_CLOSEFILMCONTROL
  2873.   E_PLAYALL
  2874.   E_PLAYSEL
  2875.   E_SAVEALL
  2876.   E_FILENAME [name]
  2877.   E_CLEAR
  2878.   E_EXPORT
  2879.   E_LOAD
  2880.   E_SAVE
  2881.   E_INSERT file
  2882.   E_APPEND file
  2883.   E_MOVE x y
  2884.  EditorAnimInfo:
  2885.   EAI_DISPLAY (NORMAL|ZOOMED|DITHERED)
  2886.   EAI_CACHING (ON|OFF)
  2887.   EAI_BUFFERS num
  2888.   EAI_ABUFFER num
  2889.   EAI_SPEED num
  2890.   EAI_MOVE x y
  2891.   EAI_CLOSE
  2892.  ModuleOptions:
  2893.   MO_TEST
  2894.   MO_STOP
  2895.   MO_CLOSE
  2896.   MO_MOVE x y
  2897.  SampleOptions:
  2898.   SO_TEST
  2899.   SO_STOP
  2900.   SO_CHANNEL (LEFT0|RIGHT0|LEFT1|RIGHT1)
  2901.   SO_REPEAT num
  2902.   SO_VOLUME num
  2903.   SO_CLOSE
  2904.   SO_MOVE x y
  2905.  CommandOptions:
  2906.   CO_TEST
  2907.   CO_CLOSE
  2908.   CO_MOVE x y
  2909.  Processor:
  2910.   PC_ADD type [options]
  2911.     SCALE in out width height [(PIXELS|PERCENT) (IGNORE|TAKEWIDTH|TAKEHEIGHT)]
  2912.     CROP in out left top width height
  2913.     ALPHA in alpha out left top
  2914.     COMPOSE left top mix back=(STREAM|TEMPx) fore=(STREAM|TEMPx) dest=(STREAM|TEMPx) (NONE|COLOR|INRANGE|OUTRANGE) [red1 green1 blue1 [red2 green2 blue2]]
  2915.     BALANCING in out red green blue bright contrast gamma
  2916.     DISPLACE in out radius probability seed
  2917.     ROTATE in out centreX centreY radius amount zoom
  2918.     NEGATIVE in out
  2919.     COLORTOGRAY in out (AVERAGE|LUMINANCE|CUSTOM) [red] [green] [blue]
  2920.     SHIFTLINES in out (HORIZONTAL|VERTICAL) shift [(NORMAL|POSITIVE|NEGTIVE) amount probability seed]
  2921.     SAVETEMP buffer
  2922.     LOADTEMP buffer
  2923.     KILLTEMP buffer
  2924.     LOADIMAGE out sequence repeat shift
  2925.     CREATEIMAGE out width height [red0 green0 blue0 ... red3 green3 blue3]
  2926.     PIXELIZE in out width height (ON|OFF) [(XY|X|Y) size red green blue dLeft dRight dTop dBottom]
  2927.     CONVOLVE in out mix shift (file|matrix)
  2928.     TWIRL in out (IN|OUT) centreX centreY radius amount power zoom
  2929.     PERSPECTIVE in out centreX centreY alpha beta (XY|YZ|ZX) camX camY camZ zoom [lightX lightY lightZ dimish]
  2930.     BUMP in heightMap out left top amount lightX lightY lightZ intensity
  2931.     TEXT out red green blue bgRed bgGreen bgBlue (NORMAL|OUTLINE|EMBOSS) (LEFT|RIGHT|CENTERED) hSkip font fontSize italic bold underline color textFile [strength [lightX lightY lightZ intensity]]
  2932.     ANTIQUE in out
  2933.     HALVE in out
  2934.     FLIP in out (X|Y|XY)
  2935.     MOTIONBLUR in out deltaX deltaY
  2936.     ROTATEBLUR in out centreX centreY amount radius
  2937.     BLACKHOLE in out centreX centreY amount radius
  2938.     MAGNET in out centreX centreY amount damping
  2939.     WAVE in out centreX centreY (X|Y) frames frame zoom damping (ON|OFF) amplitude wavelength phase shift
  2940.     AREXX in out port tempfile script
  2941.     COMMENT [string]
  2942.     PLASMA out width height dimension seed
  2943.     EMBOSS in out direction
  2944.     REPLACECOMP in1 in2 out (RED|GREEN|BLUE)
  2945.     OILTRANSFER in out rect
  2946.     MEDIANFILTER in out rect
  2947.     ADD in1 in2 out (ADD|SUBTRACT)
  2948.     RASTER in out
  2949.     SWAPRGB in out (RBG|GRB|GBR|BRG|BGR)
  2950.     NOISE in out intensity probability seed
  2951.     POSTERISE in out bits
  2952.     ROLL in out deltaX deltaY (ON|OFF)
  2953.     CARTESIAN2POLAR in out r0 phi0
  2954.     CUBE in out centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (ON|OFF) lightX lightY lightZ intensity hardness ambient size
  2955.     WRAP in out centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (ON|OFF) (NORMAL|DOUBLE) lightX lightY lightZ intensity hardness ambient (RADIUS|AMOUNT) radius amount (X|Y|XY)
  2956.     WATER in out centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (ON|OFF) (NORMAL|DOUBLE) lightX lightY lightZ intensity hardness ambient frames frame (X|Y|XY) originX originY times rings amplitude wavelength (ON|OFF) damping doXY=(ON|OFF)
  2957.     WAVE3D in out centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (ON|OFF) (NORMAL|DOUBLE) lightX lightY lightZ intensity hardness ambient frames frame (X|Y|XY) originX originY amplitude wavelength phase (ON|OFF) damping
  2958.     THRESHOLD in out level
  2959.     SHEAR in out originX originY amount (X|Y) zoom damping (ON|OFF)
  2960.     LWOB out centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (ON|OFF) (NORMAL|DOUBLE) lightX lightY lightZ intensity hardness ambient file width height
  2961.   PC_KILL
  2962.   PC_CLEAR
  2963.   PC_SELECT type [which]
  2964.   PC_UP
  2965.   PC_DOWN
  2966.   PC_FROM num
  2967.   PC_TO num
  2968.   PC_STEP num
  2969.   PC_OPENEDIT
  2970.   PC_MOVEEDIT x y
  2971.   PC_CLOSEEDIT
  2972.   PC_MODE (COLOR|HAM6|HAM8)
  2973.   PC_DITHER (NONE|FS)
  2974.   PC_SMOOTHING (ON|OFF)
  2975.   PC_DEPTH num
  2976.   PC_CSKIP num
  2977.   PC_FILENAME [name]
  2978.   PC_LOAD
  2979.   PC_SAVE
  2980.   PC_OPENPCSINGLEPICTURE
  2981.   PC_CLOSEPCSINGLEPICTURE
  2982.   PC_OPENVARIABLES
  2983.   PC_CLOSEVARIABLES
  2984.   PC_OPENPALETTE
  2985.   PC_CLOSEPALETTE
  2986.   PC_MOVE
  2987.  Variables:
  2988.   V_ADD name
  2989.   V_SELECT name
  2990.   V_KILL
  2991.   V_RENAME
  2992.   V_SELECT name
  2993.   V_ENVELOPE
  2994.   V_FILENAME
  2995.   V_SAVE
  2996.   V_LOAD
  2997.   V_CLEAR
  2998.   V_MOVE
  2999.  Envelope:
  3000.   EV_XRANGE xmin xmax
  3001.   EV_YRANGE ymin ymax
  3002.   EV_VIEWALL
  3003.   EV_SCROLLUP
  3004.   EV_SCROLLDOWN
  3005.   EV_SCROLLLEFT
  3006.   EV_SCROLLRIGHT
  3007.   EV_SELECT num
  3008.   EV_SELECTNEXT
  3009.   EV_SELECTPREV
  3010.   EV_KILL
  3011.   EV_ADD xval yval
  3012.   EV_MOVE xval yval
  3013.   EV_DRAG xval yval steps
  3014.   EV_LOAD name
  3015.   EV_SAVE name
  3016.   EV_INTERPOLATION (SPLINE|BEZIER|LINEAR)
  3017.   EV_USE
  3018.   EV_CANCEL
  3019.   EV_OPENADVANCED
  3020.   EV_MOVE
  3021.  SinglePicture:
  3022.   PCS_INPUT name
  3023.   PCS_OUTPUT name
  3024.   PCS_TEST [time]
  3025.   PCS_SAVE
  3026.   PCS_SAVERENDERED
  3027.   PCS_APPLYDIMENSIONS
  3028.   PCS_FRAME num
  3029.   PCS_MOVE
  3030.   PCS_SCREENMODE id
  3031.   PCS_PREVIEWWIDTH val
  3032.   PCS_PREVIEWDEPTH val
  3033.   PCS_PREVIEW (ENABLED|DISABLED)
  3034.  EnvelopeAdvanced:
  3035.   EVA_RANGE from to step
  3036.   EVA_SCALE
  3037.   EVA_SHIFT
  3038.   EVA_LOADCURVE name
  3039.   EVA_SAVECURVE name
  3040.   EVA_LOADTIMECODES
  3041.   EVA_SAVETIMECODES
  3042.   EVA_XVAL val
  3043.   EVA_YVAL val
  3044.   EVA_CLOSE
  3045.   EVA_MOVE
  3046.  Converter:
  3047.   C_INPUTTYPE (ANIMATION|YAFAANIM|BLACKFRAMES)
  3048.   C_INPUTEXPORT
  3049.   C_INPUTFILENAME name
  3050.   C_OUTPUTTYPE (PICTURES|YAFAANIM|IFFANIM|NONE)
  3051.   C_OUTPUTEXPORT
  3052.   C_OUTPUTFILENAME name
  3053.   C_ANNOTATION (ON|OFF)
  3054.   C_ANNOFILENAME [name]
  3055.   C_ANNOSTRING [string]
  3056.   C_LOADSESSION
  3057.   C_SAVESESSION
  3058.   C_CONVERT
  3059.   C_CONVERTPICS first last
  3060.   C_OPENINPUTOPTIONS
  3061.   C_OPENOUTPUTOPTIONS
  3062.   C_CLOSEINPUTOPTIONS
  3063.   C_CLOSEOUTPUTOPTIONS
  3064.   C_PREVIEW (NONE|WINDOW|SCREEN)
  3065.   C_PROCESSOR (ENABLED|DISABLED)
  3066.   C_MOVE
  3067.  YAFAOptions:
  3068.   YO_IMAGEDATA (RAW|CHUNKY)
  3069.   YO_DELTA (NONE|BYTE|WORD|LONG|BYTEBR|WORDBR|LONGBR)
  3070.   YO_COMPRESSION (NONE|XPK)
  3071.   YO_COMPRESSOR name
  3072.   YO_MODE mode
  3073.   YO_COLORMAP (UNLOCKED|LOCKED)
  3074.   YO_SPEED num
  3075.   YO_FORCETIMECODES (ON|OFF)
  3076.   YO_OPENANALYSIS
  3077.   YO_MOVE
  3078.   YO_APPLY name
  3079.  Analysis:
  3080.   A_FRAMES num
  3081.   A_TEST
  3082.   A_USE
  3083.   A_CANCEL
  3084.   A_MOVE
  3085.  ANIMOptions:
  3086.   AO_TYPE (ANIM5|ANIM7S|ANIM7L)
  3087.   AO_COLORMAP (UNLOCKED|LOCKED)
  3088.   AO_SCREENMODE mode
  3089.   AO_MOVE
  3090.  PictureOptions:
  3091.   PO_BASENAME name
  3092.   PO_SCREENMODE mode
  3093.   PO_SHIFT num
  3094.   PO_MOVE
  3095.   PO_TYPE (RENDERED|TRUECOLOR)
  3096.  CreateFrames:
  3097.   CF_WIDTH num
  3098.   CF_HEIGHT num
  3099.   CF_FRAMES num
  3100.  PictureList:
  3101.   PL_INSERT names
  3102.   PL_APPEND names
  3103.   PL_INSERTDIR name
  3104.   PL_APPENDDIR name
  3105.   PL_DUPLICATE times
  3106.   PL_SORT
  3107.   PL_CHECK
  3108.   PL_RANGE from to step
  3109.   PL_REMOVERANGE
  3110.   PL_TIMERANGE num
  3111.   PL_SHOW
  3112.   PL_SELECT name [which]
  3113.   PL_SELECTNEXT
  3114.   PL_SELECTPREV
  3115.   PL_OPENPICTUREINFO
  3116.   PL_CLOSEPICTUREINFO
  3117.   PL_MOVE
  3118.  Custom-Windows:
  3119.   CW_CLOSE name
  3120.   CW_OPEN name
  3121.   CW_MOVE name x y
  3122.   CW_ADD name width height
  3123.   CW_KILL name
  3124.   CW_ADDGADGET window (STRING|BUTTON|SWITCH) left top width name [action]
  3125.   CW_GETGADGET window name
  3126.   CW_SETGADGET window name value
  3127.   CW_WAITGADGET window name
  3128.   CW_ADDTEXT window left top pen text
  3129.   CW_ADDLINE window x1 y1 x2 y2 pen
  3130.   CW_ADDRECT window left top width height pen (NORMAL|FILLED|BBOX|BBOX2)
  3131.   CW_DRAWTEXT window left top pen text
  3132.   CW_DRAWLINE window x1 y1 x2 y2 pen
  3133.   CW_DRAWRECT window left top width height pen (NORMAL|FILLED|BBOX|BBOX2)
  3134.   CW_SAVE name
  3135.   CW_LOAD name
  3136.   CW_WAIT name
  3137.   CW_ISOPEN name
  3138.  Palette:
  3139.   PP_FILENAME
  3140.   PP_LOAD
  3141.   PP_SAVE
  3142.   PP_COLOR color red green blue
  3143.   PP_STATE (ENABLED|DISABLED)
  3144.   PP_MOVE x y
  3145.  FilmStrip:
  3146.   FC_PLAY file loops rows cols [left top]
  3147.   FC_FILE file
  3148.   FC_FILMFILE file
  3149.   FC_RANGE from to step
  3150.   FC_WIDTH width
  3151.   FC_SIZE rows cols
  3152.   FC_COLOR (ORIGINAL|GRAY)
  3153.   FC_UPDATE
  3154.   FC_CLEANUP
  3155.   FC_LOAD
  3156.   FC_SAVE
  3157.   FC_CONVERT
  3158.   FC_APPEND
  3159.   FC_SCROLL val (negative->scroll left)
  3160.  CRange:
  3161.   CR_FROM num
  3162.   CR_TO num
  3163.   CR_STEP num
  3164.   CR_STATE (ENABLED|DISABLED)
  3165.  IMOptions:
  3166.   IM_RESET
  3167.   IM_FILE file
  3168.   IM_TRASHCAN (KILLICON|DELETE)
  3169.  Icon-Saver:
  3170.   IC_Image1 file
  3171.   IC_Image2 [file]
  3172.   IC_ICON file
  3173.   IC_WIDTH width
  3174.   IC_DEPTH depth
  3175.   IC_COLOR (COLOR|GRAY)
  3176.   IC_CONVERT
  3177.  TMaker:
  3178.   TM_INPUT1 file
  3179.   TM_INPUT2 file
  3180.   TM_OUTPUT file
  3181.   TM_TEMP drawer
  3182.   TM_FRAMES frames
  3183.   TM_PREVIEW (NONE|WINDOW|SCREEN)
  3184.   TM_SHOWEXAMPLE (ON|OFF)
  3185.   TM_TYPE type subtype
  3186.   TM_CREATETEMPFILES
  3187.   TM_KILLTEMPFILES
  3188.   TM_PLAY
  3189.   TM_CONVERT
  3190.   TM_CREATEEXAMPLES
  3191. @endnode
  3192. @remark /*************************************************************/
  3193. @remark /*
  3194. @remark                            Tutorials
  3195. @remark */
  3196. @remark /*************************************************************/
  3197. @node Tutorials
  3198. ###############################################################################
  3199. #                                                                             #
  3200. #                       Sequencer-Tutorial  1                                 #
  3201. #                                                                             #
  3202. ###############################################################################
  3203.                   @{" 1. Introduction                        " LINK Einleitung}
  3204.                   @{" 2. Hardware-Requirements               " LINK Anforderungen}
  3205.                   @{" 3. Tutorial 1                          " LINK Tutorial}
  3206. @ENDNODE
  3207. @NODE Einleitung "1. Introduction"
  3208. Welcome to the Sequencer Tutorial!
  3209. This workshop will show you the fantastic possibilities of the Image
  3210. Processor! You won`t trust your eyes when you see what you can do with this
  3211. great program.
  3212. As we are using the great BUILD-FROM-BLOCKS-concept you can change the
  3213. project in an easy way to fit your personal needs.
  3214. First inform yourself about the @{" Hardware Requirements " LINK Anforderungen}!
  3215. @ENDNODE
  3216. @NODE Anforderungen "2. Hardware Requirements"
  3217. While installation you can choose between two different versions of this
  3218. tutorial, depending on the hardware you use!
  3219. "HALVE_SIZE" is aimed on users with something like the following
  3220. configuration:
  3221.   CPU: MC68020/MC68030
  3222.   RAM: 4 MB Fast, 2 MB Chip
  3223.   HD: 120 MB
  3224.   about 10 MB free Harddisk-space!
  3225. The "HALVE_SIZE" tutorial even runs on STANDARD A1200 with only 2MB Chip
  3226. Ram and no Fast Ram!
  3227. The "NORMAL_SIZE" version of this tutorial can be used by the ones with
  3228. more extended hardware like:
  3229.   CPU: MC68040/MC68060
  3230.   RAM: 8 MB Fast, 2 MB Chip
  3231.   HD: 1 GB 
  3232.   about 25 MB free Harddisk-space!
  3233. Of course you don`t have to follow this rules, you may use the
  3234. "NORMAL_SIZE" on an slow A1200 with 4MB Fast, too.
  3235.  Now lets start with the @{" Tutorial " LINK Tutorial}.
  3236. @ENDNODE
  3237. @NODE Tutorial "3. Tutorial"
  3238.                   @{" 0. Story                    " LINK Story}
  3239.                   @{"  1. Preface                 " LINK Teil0}
  3240.                   @{"  2. Part 1                  " LINK Teil1}
  3241.                   @{"  3. Part 2                  " LINK Teil2}
  3242.                   @{"  4. Part 3                  " LINK Teil3}
  3243.                   @{"  5. Part 4                  " LINK Teil4}
  3244.                   @{"  6. Part 5                  " LINK Teil5}
  3245.                   @{"  7. Part 6                  " LINK Teil6}
  3246.                   @{"  8. Part 7                  " LINK Teil7}
  3247.                   @{"  9. Part 8                  " LINK Teil8}
  3248.                   @{" 10. Part 9                  " LINK Teil9}
  3249.                   @{" 11. Script                  " LINK Script}
  3250. @ENDNODE
  3251. @NODE Story "Story"
  3252. Starting with 2 x 60 24Bit-Pictures "CHA" and "CHB" we want to create some
  3253. animations using fading and special effects.
  3254.  Story:
  3255.   -"CHA" will be wiped into the picture
  3256.   -"CHA" will be played quite normal
  3257.   -"CHA" will be roteted (360
  3258.   -"CHA" will be twirled
  3259.   -"CHB" flies into the picture in a smalle size
  3260.   -"CHB" will be scaled to full size
  3261.   -"CHA" will be fadet out and a little bit displaced
  3262.   -"CHB" will be played quite normal
  3263.   -"CHB" will be fadet out
  3264. All session- and process files are stored in the same called directorys.
  3265. To generate the nedded animations there are two possibilities:
  3266. (f.i. animation "chab_wipe.yafa)
  3267.  - Using the graphical user interface:
  3268.    *converter: load the session file "chab_wipe.session"
  3269.    *converter: press the "Convert" gadget (or just press <Return>)
  3270.     (the needed process file "chab_wipe.process" will be loaded by the
  3271.      sesssion file without user interaction.)
  3272.  - from shell
  3273.    "wf -s sessions/chab_wipe.session"
  3274. You can generate all the animation using the session-files. There is even a
  3275. scrit which will do this for you! Just start it from shell:
  3276.  execute wftut:halve_size/wf.bat
  3277. This script looks like:
  3278.   wf -s wftut:halve_size/sessions/cha_wipe.session
  3279.   wf -s wftut:halve_size/sessions/cha.session
  3280.   wf -s wftut:halve_size/sessions/cha_rotate.session
  3281.   wf -s wftut:halve_size/sessions/cha_twirl.session
  3282.   wf -s wftut:halve_size/sessions/chab_wipe.session
  3283.   wf -s wftut:halve_size/sessions/chab_scale.session
  3284.   wf -s wftut:halve_size/sessions/chab_fade.session
  3285.   wf -s wftut:halve_size/sessions/chb.session
  3286.   wf -s wftut:halve_size/sessions/chb_fade.session  
  3287. (You see, all animations are generated from shell)
  3288. But we want to learn how the processor works. That`s why you should make
  3289. the animations yourself, following this tutorial! If you managed that you
  3290. will know how to work with WIldfire and it will be eas for you to produce
  3291. effects yourself!
  3292.  So first read the @{" Preface " LINK Teil0}!
  3293. @ENDNODE
  3294. @NODE Teil0 "Preface"
  3295. If you work with the small version (HALVE_SIZE) then you can follow the
  3296. steps written in the tutorial exactly. But if you want to use the full size
  3297. (NORMAL_SIZE) version, you have to change the path names from
  3298. wftut:halve_size/ ind wftut:normal_size/. Further on you have to use the
  3299. sizes and coordinates written in [].
  3300. Your actions are written in {} brackets.
  3301. Both animations we are dealing with consits of 60 frames each. So the
  3302. timedependent coordinates end with 60 for the last frame.
  3303. First of all start Wildfire.
  3304. {wf <enter>}
  3305. Afterwards open the preferences window.
  3306. {PREFERENCES}
  3307. Change to the paths-selector.
  3308. {PATHS}
  3309. Use the following paths:
  3310. {ANIMATIONS  wftut:halve_size/results/}
  3311. {PICTURES    wftut:halve_size/frames/}
  3312. {YAFA-PLAYER wf:YP}
  3313. Save the preferences.
  3314. {CLOSE Filenames/Drawers}
  3315. {SAVE Prefs}
  3316. {CLOSE Prefs}
  3317. Now all needed selections are made, so lets come to @{" Part 1 " LINK Teil1}.
  3318. @ENDNODE
  3319. @NODE Teil1 "Part 1"
  3320. cha_wipe.yafa
  3321. Open the converter window.
  3322. {CONVERTER}
  3323. If you want to do it the easy way just load the session file!
  3324. {LOAD Session cha_wipe.session}
  3325. All settings are made automaticly, you jut need to start converting.
  3326. {CONVERT}
  3327. You can do this for all 9 animations but ...
  3328. We want to get to know how the program works, so ...
  3329. we will NOT use this files but do everything ourselves!
  3330. Select Single Pictures as Input Type.
  3331. {INPUT TYPE Pictures}
  3332. Select YAFA Animation as Output Type.
  3333. {OUTPUT TYPE YAFA Animation}
  3334. Select the following YAFA Options:
  3335. {RELATED OPTIONS}
  3336. {IMAGE-DATA RAW}
  3337. {COLORMAP UNLOCKED}
  3338. {FORCE TIMECODES OFF}
  3339. {SPEED 2} [3]
  3340. {POST-COMPRESSION XPK}
  3341. {Compressor FAST}
  3342. {DELTA-COMPRESSION ByteBR}
  3343. {Uncompressed Frames 1}
  3344. {UC-Mode Delta}
  3345. Close the YAFA-Options.
  3346. {CLOSE YAFA-Options}
  3347. Select
  3348. {PREVIEW Screen}  and
  3349. {PROCESSOR Enabled}
  3350. {INPUT RELATED OPTIONS}
  3351. Add the directory with the 60 pictures for the CHA anim:
  3352. {ADDDIR wftut:halve_size/frames/chA}
  3353. {CLOSE Related Options}
  3354. Choose the name for the animation:
  3355. {OUTPUT Browse}
  3356. {wftut:halve_size/results/cha_wipe.yafa}
  3357. Open the
  3358. {PROCESSOR}
  3359. First of all we want the Animation CHA to fly from the left side into the
  3360. screen. Furthermore we want to fade this animation.
  3361. So we create a black screen as background.
  3362. {ADD CREATEIMAGE}
  3363. Now we edit create-image.
  3364. {DOUBLECLICK CreateImage} (in the list) or {EDIT}
  3365. Now we make the following selections:
  3366. {WIDTH 176}  [352]   ... width of the Animation
  3367. {HEIGHT 144} [288]   ... height of the Animation
  3368. {OUTPUT Temp1}       ... buffer for the black picture
  3369. Now we select for all 4 colors the rgb-values 0. The color-gadgets will be
  3370. displayed in their right colors if you work on an 256 color-screen.
  3371. Otherwise you will NOT see their right colors. Just look at the values,
  3372. they have to be 0,0,0.
  3373. ************************************************************
  3374. Note:
  3375. To get the needed coordinates in a very easy way just do the following
  3376. things:
  3377. f.i. add CreateImage effect. Select the effect. (like described some lines
  3378. {OPEN Single-Picture-Process}
  3379. {INPUT wftut:halve_size/frames/cha/pic.0001}
  3380. {APPLY DIMENSIONS}
  3381. Using Apply Dimensions the sizes of the picture will be used for the
  3382. effect. Thats for instance the size for the CreateImage effect and the
  3383. centre coordinates for the twirl and rotate effect.
  3384. ************************************************************
  3385. {CLOSE CreateImage-Options}
  3386. Now we create some variables.
  3387. {VARIABLES}
  3388. {ADD left}
  3389. {ADD mix}
  3390. {DOUBLECLICK left}
  3391. We are looking at the envelopes-window.
  3392. Let`s add two points:
  3393. {ADD PNT  Klick into the window}
  3394. {ADD PNT  Klick into the window}
  3395. The change the position of the first poin we select it:
  3396. {KLICK on the 1. point}
  3397. {X = 0}                  (just write it into the correspondending gadget)
  3398. {Y = -160.00}
  3399. Select the second point.
  3400. {KLICK on the 2. point}
  3401. {X = 5}
  3402. {Y = 0}
  3403. Select the 3. point.
  3404. {KLICK on the 3. point}
  3405. {X = 60}
  3406. {Y = 0}
  3407. Choose bezier as interpolation method.
  3408. {INTERPOLATION bezier}
  3409. For the following variables you follow these steps exactly. I use a short
  3410. form of writing the down. Have a look at these examples for the variables
  3411. you created a minute ago.
  3412. Variable:      left
  3413. Points:         3
  3414. Nr. 1:          0, -160
  3415. Nr. 2:          5,    0
  3416. Nr. 3:         60,    0
  3417. Interpolation: bezier
  3418. Lets come to the second variable.
  3419. 2. Variable:
  3420. Variable:      mix
  3421. Points:         3
  3422. Nr. 1:          0,    0
  3423. Nr. 2:         20,  100
  3424. Nr. 3:         60,  100
  3425. Interpolation: bezier
  3426. {CLOSE Envelope}
  3427. {CLOSE Variables}
  3428. Now we add a compose effect:
  3429. {ADD COMPOSE}
  3430. {EDIT compose}
  3431. {BACKGROUND Temp1}   ... generated picture in Temp1
  3432. {FOREGROUND Stream}  ... Animation in Stream
  3433. {DESTINATION Stream} ... destination -> Animation
  3434. {ALPHA none}         ... Alpha Channel
  3435. {GENLOCK none}
  3436. {LEFT left}  ... Using the gadget VAR you choose our created variable left
  3437.                  as the value for the LEFT position of the animation.
  3438.                  Within our 60 frames the front animation will move from
  3439.                  the left side (-160) into the screen (0).
  3440. {TOP 0}      ... The animation will stay on the same heigth all the time.
  3441. {MIX mix}    ... Within the 60 frames we change the value of mix from 0
  3442.                  to 100. Mix 100 means you will only see the pictures
  3443.                  in front of the background pictures - and these are the
  3444.                  frames of the animation!
  3445. {CENTREX off}... pics will NOT be centred
  3446. {CENTREY off}... pics will NOT be centred
  3447. {MODE Color}
  3448. {DITHERING Floyd}
  3449. {DEPTH 5}
  3450. Now we made all settings, so press the CONVERT gadget in the converter
  3451. window!
  3452. {CONVERT}
  3453. Depending on the speed of your computer you may drink a cup of coffee or
  3454. just look how the animation is created.
  3455. The 60 24-Bit pictures will be wiped, fadet, ditherd and saved in 5-Bit.
  3456. From the @{" Part 2 " LINK Teil2} I will tell you only the important things
  3457. as you should know by know how the whole thing is working!
  3458. @ENDNODE
  3459. @NODE Teil2 "Part 2"
  3460. cha.yafa
  3461. Now we create an animation without effects. So first remove all the effects
  3462. form the processor-list.
  3463. {PROCESSOR CLEAR}
  3464. The following settings stay unchanged for the whole tutorial!
  3465. {MODE Color}
  3466. {DITHERING Floyd}
  3467. {DEPTH 5}
  3468. The input single-pictures stay the same as in part 1!
  3469. Do not forget to change the output name into:
  3470. {wftut:halve_size/results/cha.yafa}
  3471. So lets start the converting!
  3472. {CONVERT}
  3473. @{" Part 3 " LINK Teil3}
  3474. @ENDNODE
  3475. @NODE Teil3 "Part 3"
  3476. cha_rotate.yafa
  3477. Now the CHA Animation will be rotated.
  3478. Output-Name:
  3479. {wftut:halve_size/results/cha_rotate.yafa}
  3480. Variable:      rotate
  3481. Points:         2
  3482. Nr. 1:          0,    0   ... Start 0
  3483. Nr. 2:         60,  360   ... end 360
  3484. Interpolation: linear
  3485. Let`s add a rotate effect in the processor:
  3486. {ADD ROTATE}
  3487. Make the following selections:
  3488. {INPUT Stream}       ... Input pictures
  3489. {OUTPUT Stream}      ... Output animation
  3490. {CENTREx 88}  [176]  ... Centre of the picture. To get the centre use a
  3491.                          calculator or:
  3492.                          {SINGLE Picture}
  3493.                          {BROWSE picture for the 60 CHA-picture}
  3494.                          {APPLY DIMENSIONS}
  3495.                          and so you get the centre-settings in the easy
  3496.                          way!
  3497. {CENTREY 72}  [144]
  3498. {RADIUS 120}  [220]  ... Radius for rotating
  3499. {AMOUNT rotate}      ... amount in degrees
  3500. {ZOOM 1}             ... zoom amount
  3501. After this we can start the converting!
  3502. Now come to @{" Part 4 " LINK Teil4}...
  3503. @ENDNODE
  3504. @NODE Teil4 "Part 4"
  3505. cha_twirl.yafa
  3506. Lets use the cool twirl effect.
  3507. (do not forget the output name!)
  3508. {wftut:halve_size/results/cha_twirl.yafa}
  3509. Variable:      rotate
  3510. Points:         5
  3511. Nr. 1:          0,    0   ... Start 0
  3512. Nr. 2:         20,  100 
  3513. Nr. 2:         30,  210
  3514. Nr. 2:         40,  100
  3515. Nr. 2:         60,    0   ... End 0
  3516. Interpolation: spline
  3517. We add the twirl effect in the processor:
  3518. {ADD TWIRL}
  3519. We choose the following settings:
  3520. {INPUT Stream}       ... Input Pictures
  3521. {OUTPUT Stream}      ... Output animation
  3522. {FALLOFF out}        ... Direction of more power
  3523. {CENTREX 88}  [176]  ... centre of the pictures
  3524. {CENTREY 72}  [144]
  3525. {RADIUS 150}  [220]  ... twirl-radius
  3526. {AMOUNT rotate}      ... degrees
  3527. {POWER 1}            ... Power stays the same
  3528. {ZOOM 1}             ... zoom-amount
  3529. The twirl effect is very time-consuming. Start the converting and if you
  3530. have a slow amiga just drink a can of coffee :-)
  3531. After this interesting effect we go on with @{" Part 5 " LINK Teil5}.
  3532. @ENDNODE
  3533. @NODE Teil5 "Teil5"
  3534. chab_wipe.yafa
  3535. Now, for the first time, we will see two animations on the screen. CHA will
  3536. be played in the background and CHB will be moved from the top left corner
  3537. to the middle of the screen and zoomed to halve of their size.
  3538. {wftut:halve_size/results/chab_wipe.yafa}
  3539. Variable:      breite
  3540. Points:         2
  3541. Nr. 1:          0,    0        ... start-width 0
  3542. Nr. 2:         60,   88  [176] ... end-width 88 (176/2)
  3543. Interpolation: linear
  3544. Variable:      hoehe
  3545. Points:         2
  3546. Nr. 1:          0,    0        ... start-height 0
  3547. Nr. 2:         60,   72  [144] ... end-height 72 (144/2)
  3548. Interpolation: linear
  3549. Variable:      left
  3550. Points:         2
  3551. Nr. 1:          0,    0       ... start left
  3552. Nr. 2:         60,   44  [88] ... end in the middle (coordinate of the 
  3553.                                   left side of the animation)
  3554. Interpolation: linear
  3555. Variable:      top
  3556. Points:         2
  3557. Nr. 1:          0,    0       ... start at the top
  3558. Nr. 2:         60,   36  [72] ... end in the middle
  3559. Interpolation: linear
  3560. Now we add the following effects
  3561. {ADD LOADIMAGE}
  3562. {ADD SCALE}
  3563. {ADD COMPOSE}
  3564. We make the following selections:
  3565. Loadimage:
  3566. {SEQUENCE wftut:halve_size/frames/chB/pic}
  3567. {OUTPUT Temp1}
  3568. {REPEAT AT 60}
  3569. This command loads the file called 'pic.xxxx' with xxxx as the picture of
  3570. the animation which is generated. So if the processor generates the first
  3571. picture of the anim LOADIMAGE will load pic.0001. For pic 60 of the anim
  3572. pic.0060 will be loaded.
  3573. With repeat you choose which is the last picture. Afterwards LOADIMAGE will
  3574. restart the index with 1.
  3575. We use the buffer Temp1 for loading. With the 8 Buffers and the Strem we
  3576. can combine 9 animations in an very easy way!
  3577. Scale:
  3578. {INPUT Temp1}   ... input picture
  3579. {OUTPUT Temp1}  ... Output picture
  3580. {WIDTH breite}  ... width of the picture
  3581. {HEIGHT hoehe}  ... height of the picture
  3582. {TYPE pixels}   ... Values in Pixel
  3583. {ASPECT ignore} ... Aspect will be ignored
  3584. The temp-picture from the CHB anim will be scaled to the size we set in the
  3585. variables "breite" and "hoehe".
  3586. Compose:
  3587. {BACKGROUND Stream}  ... backgrund pictures from animation CHA
  3588. {FOREGROUND Temp1}   ... foregrund pictures from animation CHB
  3589. {DESTINATION Stream} ... output to the Stream
  3590. {ALPHA none}         ... Alpha chanal
  3591. {LEFT left}          ... left Position
  3592. {TOP top}            ... top oben
  3593. {MIX 100}            ... Mix = 100 ... you see only the anim in front!
  3594. The background of the animation CHB is black. We want the background of the
  3595. CHB anim to be masked out, so we see the anim CHA in the background.
  3596. {CENTREX off}        ... pics will NOT be centred
  3597. {CENTREY off}        ... pics will NOT be centred
  3598. {GENLOCK SingleColor}  ... you can see through one color
  3599. {ALL RGB-VALUES  0}    ... we choose the black color!
  3600. Ready, steady, convert!
  3601. Let`s move to @{" Part 6 " LINK Teil6}.
  3602. @ENDNODE
  3603. @NODE Teil6 "Part 6"
  3604. chab_scale.yafa
  3605. This animation part is almost like the chab_wipe.yafa anim! Only the size
  3606. and position of the chb pictures differ!
  3607. {wftut:halve_size/results/chab_scale.yafa}
  3608. Variable:      breite
  3609. Points:         2
  3610. Nr. 1:          0,   88  [176] ... halve size at the start
  3611. Nr. 2:         60,  176  [352] ... full size at the end!
  3612. Interpolation: linear
  3613. Variable:      hoehe
  3614. Points:         2
  3615. Nr. 1:          0,   72  [144] ... halve size at the start
  3616. Nr. 2:         60,  144  [288] ... full size at the end!
  3617. Interpolation: linear
  3618. Variable:      left
  3619. Points:         2
  3620. Nr. 1:          0,   44  [88] ... Start -> CHB centred
  3621. Nr. 2:         60,    0       ... End   -> CHB left
  3622. Interpolation: linear
  3623. Variable:      top
  3624. Points:         2
  3625. Nr. 1:          0,   36  [72] ... Start -> CHB centred
  3626. Nr. 2:         60,    0       ... End   -> CHB top
  3627. Interpolation: linear
  3628. Now add the following effects:
  3629. {ADD LOADIMAGE}
  3630. {ADD SCALE}
  3631. {ADD COMPOSE}
  3632. Make the following selections:
  3633. Loadimage:
  3634. {SEQUENCE wftut:halve_size/frames/chB/pic}
  3635. {OUTPUT Temp1}
  3636. {REPEAT AT 60}
  3637. Scale:
  3638. {INPUT Temp1}   ... input picture
  3639. {OUTPUT Temp1}  ... Output picture
  3640. {WIDTH breite}  ... width
  3641. {HEIGHT hoehe}  ... height
  3642. {TYPE pixels}   ... Values in Pixel
  3643. {ASPECT ignore} ... Aspect will be ignored
  3644. Compose:
  3645. {BACKGROUND Stream}
  3646. {FOREGROUND Temp1}
  3647. {DESTINATION Stream}
  3648. {LEFT left}
  3649. {TOP top}
  3650. {MIX 100}
  3651. {CENTREX off}        ... pics will NOT be centred
  3652. {CENTREY off}        ... pics will NOT be centred
  3653. {GENLOCK SingleColor}
  3654. {ALL RGB-VALUES  0}
  3655. Start CONVERT!
  3656. Do you feel it?
  3657. Move on to @{" Part 7 " LINK Teil7}.
  3658. @ENDNODE
  3659. @NODE Teil7 "Part 7"
  3660. chab_fade.yafa
  3661. Both animations are now full size. In front is chb. We can look through the
  3662. background of chb and see cha. Cha will now be fadet out and a little bit
  3663. displaced.
  3664. {wftut:halve_size/results/chab_fade.yafa}
  3665. Variable:      probability
  3666. Points:         3
  3667. Nr. 1:          0,   0  ... probability for displacing a point
  3668. Nr. 2:         59,   0
  3669. Nr. 3:         60, 100
  3670. Interpolation: bezier
  3671. Variable:      brightness
  3672. Points:         3
  3673. Nr. 1:          0,   0  ... brigthness of CHA.
  3674. Nr. 2:         59, -10
  3675. Nr. 3:         60, -60
  3676. Interpolation: bezier
  3677. Variable:      radius
  3678. Points:         3
  3679. Nr. 1:          0,   0  ... radius within the points will be displaced
  3680. Nr. 2:         60,  20
  3681. Interpolation: linear
  3682. We add the following effects ...
  3683. {ADD LOADIMAGE}
  3684. {ADD DISPLACE}
  3685. {ADD BALANCING}
  3686. {ADD COMPOSE}
  3687. ... and make these selections:
  3688. Loadimage:
  3689. {SEQUENCE wftut:halve_size/frames/chB/pic}
  3690. {OUTPUT Temp1}
  3691. {REPEAT AT 60}
  3692. Displace:
  3693. {INPUT Stream}              ... input Pictures of Anim CHA
  3694. {OUTPUT Stream}             ... output Stream
  3695. {RADIUS Radius}             ... displace-radius
  3696. {PROBABILITY probability}   ... displace probability
  3697. {SEED probability}          ... start value for randomize
  3698. Balancing:
  3699. {INPUT Stream}        ... input picture
  3700. {OUTPUT Stream}       ... output picture
  3701. {alles auf 0}
  3702. {BRIGHT brightness}   ... brightness of anim CHA
  3703. Compose:
  3704. {BACKGROUND Stream}
  3705. {FOREGROUND Temp1}
  3706. {DESTINATION Stream}
  3707. {LEFT 0}
  3708. {TOP 0}
  3709. {MIX 100}
  3710. {CENTREX off}        ... pics will NOT be centred
  3711. {CENTREY off}        ... pics will NOT be centred
  3712. {GENLOCK SingleColor}
  3713. {ALL RGB-VALUES  0}
  3714. After this settings we start converting.
  3715. Let`s come to @{" Part 8 " LINK Teil8}.
  3716. @ENDNODE
  3717. @NODE Teil8 "Part 8"
  3718. chb.yafa
  3719. The animation will be generated without effects.
  3720. {PROCESSOR CLEAR}
  3721. The processor settings stay the same.
  3722. {MODE Color}
  3723. {DITHERING Floyd}
  3724. {DEPTH 5}
  3725. We have to use new INPUT-SINGLE PICTURES, as we don`t need the cha pictures
  3726. anymore!
  3727. {REMOVE RANGE}
  3728. There should be no more entries. Now ...
  3729. {ADDDIR wftut:halve_size/frames/chB}
  3730. Select ...
  3731. {wftut:halve_size/results/chb.yafa}
  3732. as output name and convert.
  3733. Now you reached the last part, @{" Part 9 " LINK Teil9}.
  3734. @ENDNODE
  3735. @NODE Teil9 "Part 9"
  3736. chb_fade.yafa
  3737. The animation CHB will be fadet out!
  3738. {wftut:halve_size/results/chb_fade.yafa}
  3739. Variable:      brightness
  3740. Points:         3
  3741. Nr. 1:          0,   0  ... brightness of animation CHB.
  3742. Nr. 2:         59, -10
  3743. Nr. 3:         60, -60
  3744. Interpolation: bezier
  3745. In the processor we ...
  3746. {ADD BALANCING}
  3747. ... and make the following selections
  3748. Balancing:
  3749. {INPUT Stream}        ... input picture
  3750. {OUTPUT Stream}       ... Output picture
  3751. {alles auf 0}
  3752. {BRIGHT brightness}  ... Helligkeit der Anim CHA
  3753. Now CONVERT.
  3754. Congratulations! You just generated all the needed animations! Now lets add
  3755. a small @{" Script " LINK Script} to play the animations.
  3756. @ENDNODE
  3757. @NODE Script "Script"
  3758. We start the editor:
  3759. {EDITOR}
  3760. We add all the generated animations to the list.
  3761. {ADD cha_wipe.yafa}
  3762. {ADD cha.yafa}
  3763. {ADD cha_rotate.yafa}
  3764. {ADD cha_twirl.yafa}
  3765. {ADD chab_wipe.yafa}
  3766. {ADD chab_scale.yafa}
  3767. {ADD chab_fade.yafa}
  3768. {ADD chb.yafa}
  3769. {ADD chb_fade.yafa}
  3770. Using INFO we make some settings for every animation:
  3771. {DISPLAY Zoomed} 2x2 zooming of the anims, or not.
  3772. {BUFFERS 4}      only 4 buffers, so we dont use too much memory
  3773. Choose these settings for all animations.
  3774. Now use
  3775. {PLAY ALL}
  3776. for playing the animations. Press {AMIGA M} and look at the memory. You
  3777. should have some empty fast-memory, otherwise you should change your
  3778. settings and use only 3 buffers for every animation!
  3779. The zooming, decrunching etc. works faster in the FAST memory!
  3780. Lets save the project!
  3781. {PROJECT wftut:halve_size/Wildfire.prj}
  3782. {SAVE}
  3783. With the external @{" YAFA " link yp.guide/MAIN} Player we can now play this
  3784. animations every time we want. Wildfire is
  3785. not necessary for playing the animations! YP (the player) can be downloaded
  3786. from the internet by everyone!
  3787. {YP -batch wftut:halve_size/Wildfire.prj}
  3788. Now you saw how to wor with some important functions of Wildfire.
  3789. For learning more about this great program read the documenation and test
  3790. the great possibilities of it!
  3791. Thank you for using this tutorial!
  3792. @ENDNODE
  3793. @remark /*************************************************************/
  3794. @remark /*
  3795. @remark                            Demos
  3796. @remark */
  3797. @remark /*************************************************************/
  3798. @node Demos
  3799.                           W K  -  A r t w o r k s
  3800.                             in cooperation with
  3801.                                  since april 92
  3802.                 .    ___ _   - the immortal force -  .
  3803.                 :   /\         _ _            _      :_ __         ___ _
  3804.             ___/|  /_ \_______/\_____________/\_____/|____________/\
  3805.            /\   | /  \ \   __/  \       / ____/   .__|__   _       /
  3806.           /  \  |/    \ \_ \/    \_____/.__/ \    |    |  /   :   /
  3807.          /    \_/      \    \   .___/   | /   \        |\/    |__/_ ___
  3808.         /       \      /    /   | | \    /     \       |/     : \
  3809.      .oO\  _____|\____/\_  /\_____|Oo\  _______/_______|\  _____/___ _
  3810.          \/__ _ :        \/_      :-Z!\/_ _    :       : \/__ _
  3811.                    
  3812. -----------------------------------------------------------------------------
  3813.         INFECT A PART OF LIFE ELEMENTS - A RELIGION CAN'T DIE !
  3814. @{b}           The following releases were made using Wildfire:
  3815. @{ub}
  3816.       @{" Dataworld 1 " link dw1}
  3817.       @{" Wild Summer " link ws1}
  3818.       @{" Dataworld 2 " link dw2}
  3819. @endnode
  3820. @node dw1
  3821.   Dataworld was released at The Party 1995 in Fredericia/Denmark.
  3822.   It finished second in the Wild Competition - a competition where
  3823.   no Hardware restrictions were given.
  3824.   With only 70 MB of (hard/cd)diskspace you will get
  3825.   a 10 MINUTE-FULL-SCREEN-VIDEO-SHOW that just needs an standard
  3826.   A1200 with 4 MB of Fast Ram to run.
  3827.   Dataworld consists of over 30 @{" YAFA " link yp.guide/MAIN} animations, all
  3828.   linked smoothly together using the great @{" Wildfire " link WildFire.guide/MAIN}.
  3829.   With the @{" YAFA " link yp.guide/MAIN} player all the animations are
  3830.   played without interruption, even on a standard 4x CD rom!
  3831.   Dataworld can be found on:
  3832.   Aminet CD 11  (everything archived)
  3833.   MagnaMedia Amiga Magazin CD 5/6 96 (run from cd)
  3834.   CU amiga coverdisk 04/96 (run from cd)
  3835.   Scene Storm CD 1 (run from cd, use the fix IFT-SFIX.lha)
  3836.   Remember to use the latest @{" YAFA " link yp.guide/MAIN} player on your amiga!
  3837.   You can get it from the Aminet or from different coverdisks.
  3838.   Dataworld is copyrighted to:
  3839.   WK-Artworks                  (animations, Wildfire concept)
  3840.   Smack/Infect                 (@{" YAFA " link yp.guide/MAIN} concept)
  3841.   DJ Mellow-Noise/Infect       (music)
  3842.   Eksec/Infect                 (executive producing)
  3843. @endnode
  3844. @node ws1
  3845.   WiLD SuMMeR was released at `The Summer Party 96` in Denmark.
  3846.   It finished second in the Wild Competition - a competition without any
  3847.   Hardware-restrictions.
  3848.   With only 30 MB Place on CD/HD you`ll get a 4 Minutes full-screen Video
  3849.   which runs on an - todays - standard A1200 (at least 4 MB Fast).
  3850.   WilD SuMMeR consists of over 20 @{" YAFA " link yp.guide/MAIN} Animations, which
  3851.   were created using the great Wildfire.
  3852.   Using the latest @{" YAFA " link yp.guide/MAIN} player you can watch the show
  3853.   even from a ZIP-Drive or a 4X Speed CD-Rom without any gaps between the
  3854.   animations.
  3855.   WiLD SuMMeR is available on:
  3856.   Aminet CD 13                        (all animations archived)
  3857.   CU Amiga Cover CD                   (run from cd)
  3858.   MagnaMedia Amiga Magazin CD 3/4 97  (run from cd)
  3859.   WiLD SuMMeR copyrighted to:
  3860.   WK-Artworks                  (Animations, Wildfire concept)
  3861.   Smack/Infect                 (@{" YAFA " link yp.guide/MAIN} concept)
  3862.   DJ Mellow-Noise/Infect       (Music)
  3863.   Eksec/Infect                 (Executive Producing)
  3864. @endnode
  3865. @node dw2
  3866.   Dataworld 2 was released at The Party 1996 in Aars/Denmark.
  3867.   With 150 MB of (hard/cd)diskspace you will get a 
  3868.   12 MINUTE-FULL-SCREEN-VIDEO-SHOW that just needs an standard
  3869.   A1200 with 4 MB of Fast Ram to run.
  3870.   Dataworld 2 consists of over 30 @{" YAFA " link yp.guide/MAIN} animations, all
  3871.   linked smoothly together using the great @{" Wildfire " link WildFire.guide/MAIN}.
  3872.   With the @{" YAFA " link yp.guide/MAIN} player all the animations are
  3873.   played without interruption, even on a standard 6x CD rom!
  3874.   Dataworld 2 can be found on:
  3875.   MagnaMedia Amiga Magazin CD 3/4 97 (run from cd)
  3876.   Remember to use the latest @{" YAFA " link yp.guide/MAIN} player on your amiga!
  3877.   You can get it from the Aminet or from different coverdisks.
  3878.   Dataworld 2 is copyrighted to:
  3879.   WK-Artworks                  (animations, Wildfire concept)
  3880.   Smack/Infect                 (@{" YAFA " link yp.guide/MAIN} concept)
  3881.   DJ Mellow-Noise/Infect       (music)
  3882.   Eksec/Infect                 (executive producing)
  3883. @endnode
  3884. @node PowerPlugs!
  3885. @{b}PowerPlugs! - it's not a dream @{" Example " system "visage wf:PowerPlugs!.jpg"} @{ub}
  3886. @{u}Introduction@{uu}
  3887. PowerPlugs! are a special version of Wildfire's 3D-operators
  3888. allowing the superposition of effects in the threedimensional space.
  3889. For example after wrapping an image onto a cube a radial-wave
  3890. could be applied to the cube.
  3891. This is of course an incredible mega-feature many 3D-programs
  3892. are missing.
  3893. But many users may have no need for it because they have slow
  3894. machines with only some memory or don't need any 3d-effect.
  3895. So you have to register for the PowerPlugs!-package separately.
  3896. The price is 50,00 DM or 40,00 US-$. I think this is quite fair
  3897. for such unique features and makes it possible to keep the low price
  3898. of the base-package.
  3899. After registering you will receive an extended version of the
  3900. "wildfire.library" which enables the handling of so-called
  3901. "3D-temp-buffers".
  3902. If you have installed the normal version of the library (registered
  3903. or not) all 3D-operators are restricted to operate on image-
  3904. buffers (STREAM and TEMP1, ..., TEMP8).
  3905. After installing the extended PowerPlugs!-library four
  3906. additional buffers can be used: TEMP3D1, ... TEMP3D4.
  3907. @{u}Usage@{uu}
  3908. The usage is quiet simple. If you specify a 3d-temp-buffer
  3909. instead of an image the transformation is applied to
  3910. a virtual object and not to an image. This means that
  3911. all "final" transformation operations like rotating, scaling
  3912. or adding light are not performed. 3d-temp-buffers
  3913. can be specified both as input and output.
  3914. Example: You want to linearcombine two simple waves.
  3915.           Add a Wave3D-effect and set the originX-value to 60.
  3916.           Set the output-buffer to TEMP3D1.
  3917.           Add a second Wave3D-effect and sets it's originX-value to 260.
  3918.           Set the input-buffer to TEMP3D1.
  3919.          So what happens ? The image is read and deformed by the first
  3920.          Wave3D-operator but not rotated, scaled or rendered.
  3921.          The result is read in by the second Wave3D-operator, deformed,
  3922.          rotated and rendered.
  3923. @{u}Operators@{uu}
  3924. The following operators support the PowerPlugs!-concept and
  3925. can therefore combined in any manner:
  3926.    @{" Cube            " link opCube           } Wrap an image on a cube                    @{" Example " system "visage wf:doc/pictures/Cube.pic"}
  3927.    @{" Water           " link opWater          } Apply an anharmonic water-wave to an image @{" Example " system "visage wf:doc/pictures/Water.pic"}
  3928.    @{" Wave3D          " link opWave3D         } Apply a harmonic wave to an image          @{" Example " system "visage wf:doc/pictures/Wave3D.pic"}
  3929.    @{" Wrap            " link opWrap           } Wrap the image on a sphere or a tube       @{" Example " system "visage wf:doc/pictures/Wrap.pic"}
  3930. You may ask "Only four of them ?".
  3931. So have a look at the example-picture again and keep in mind that all
  3932. parameters may be animated easily.
  3933. @{" Example again " system "visage wf:PowerPlugs!.jpg"}
  3934. @{u}Updates@{uu}
  3935. The extension of this package depends on your feedback. If there
  3936. are many registrations I will start to develop more complicated
  3937. and incredible effects which will be available as free updates.
  3938. @endnode
  3939.